上传者: 38650516
|
上传时间: 2022-03-27 11:04:03
|
文件大小: 143KB
|
文件类型: -
matlab
sum函数代码矢量化基础
这是一个在
Julia
中提供基本
SIMD
支持的库。
VectorizationBase
的存在在很大程度上是为了满足
的代码生成的需求,优先于稳定的面向用户的
API。
因此,您可能希望在
Julia
中编写显式
SIMD
代码时考虑作为替代方案。
也就是说,当传递给用户定义的函数时,
Vec和VecUnroll类型旨在尽可能地“正常工作”,因此它在实践中应该相当稳定。
代码的其他部分——例如,加载和存储向量以及stridedpointer函数——有望很快收敛,并通过利用
支持通过生态系统传播的各种AbstractArray类型,以便
VectorizationBase
可以开始提供一个稳定的、符合人体工程学的、支持良好的
API
很快。
它还提供了一些有关运行它的主机的信息,可用于自动执行特定于目标的优化。
目前,x86_64
支持在这方面是最好的,但我希望提高为其他架构提供的信息质量。
Vec是Number并且表现为单个对象;
它们恰好包含多个Float64
。
因此,在索引和缩减方面,它将表现得像一个数字而不是一个集合:
julia