Strided.jl:用于跨步数组视图的Julia包及其有效操作

时间:2024-05-27 13:43:13
【文件属性】:

文件名称:Strided.jl:用于跨步数组视图的Julia包及其有效操作

文件大小:26KB

文件格式:ZIP

更新时间:2024-05-27 13:43:13

Julia

Strided.jl 一个Julia包,用于更有效地处理跨步数组,即密集数组,其内存布局在每个维度上的步幅都固定。 Strided.jl不对步幅做任何假设(例如沿一维的步幅1或单调增加步幅),并提供了多线程和缓存友好的实现,用于映射,减少,广播此类数组以及获取视图,重塑和置换方面。 通过使用宏@strided注释涉及广播和其他数组操作的标准Julia代码块,可以@strided访问其中的大多数代码。 什么是新的 Strided.jl v1使用Julia 1.3及更高版本的新@spawn线程基础结构。 此外,现在可以通过函数Strided.set_num_threads(n)更自定义多线程的使用,其中n可以是1 (无线程)和Base.Threads.nthreads()之间的任何整数。 这允许只在多线程上花费Julia线程的一部分,即Strided绝不会产生n-1额外的任务。 默认情况下,


【文件预览】:
Strided.jl-master
----.gitignore(53B)
----README.md(12KB)
----.github()
--------workflows()
----test()
--------othertests.jl(18KB)
--------runtests.jl(488B)
--------blasmultests.jl(1KB)
----benchmarks()
--------benchtests.jl(4KB)
----src()
--------broadcast.jl(4KB)
--------macros.jl(2KB)
--------Strided.jl(4KB)
--------unsafestridedview.jl(5KB)
--------mapreduce.jl(17KB)
--------stridedview.jl(5KB)
--------abstractstridedview.jl(11KB)
----LICENSE.md(1KB)
----Project.toml(409B)

网友评论