文件名称:SIMD.jl:Julia 的显式 SIMD 向量运算
文件大小:29KB
文件格式:ZIP
更新时间:2024-08-24 08:38:28
Julia
SIMD Julia 中的显式 SIMD 矢量化 Julia CI v1 每晚 概述 这个包允许程序员显式地对他们的 Julia 代码进行 SIMD 向量化。 理想情况下,编译器(Julia 和 LLVM)能够自动执行此操作,尤其是对于直接编写的代码。 在实践中,这并不总是有效(出于各种原因),并且程序员经常不确定代码是否真的被矢量化了。 通常需要查看生成的机器代码来确定编译器是否真的对代码进行了矢量化。 通过公开 SIMD 向量类型和相应的操作,程序员可以显式地向量化他们的代码。 虽然这并不能保证生成的机器代码是有效的,但它使编译器无需确定向量化代码是否合法,决定这样做是否有益,以及重新排列代码以合成向量指令。 这是添加两个数组的手动矢量化代码的简单示例: using SIMD function vadd! (xs :: Vector{T} , ys :: Vector{
【文件预览】:
SIMD.jl-master
----.github()
--------workflows()
----src()
--------simdvec.jl(21KB)
--------arrayops.jl(13KB)
--------SIMD.jl(909B)
--------LLVM_intrinsics.jl(25KB)
----Project.toml(378B)
----test()
--------runtests.jl(38KB)
----LICENSE.md(1KB)
----README.md(10KB)
----.gitignore(54B)