pure_simd:一个简单,可扩展,可移植,高效且仅标头的SIMD库!

时间:2024-03-28 05:17:57
【文件属性】:

文件名称:pure_simd:一个简单,可扩展,可移植,高效且仅标头的SIMD库!

文件大小:20KB

文件格式:ZIP

更新时间:2024-03-28 05:17:57

compile-time simd-library C++

纯SIMD 一个简单,可扩展,可移植,高效且仅标头的SIMD库! 介绍 已经有大量的SIMD库,通常通过包装底层凌乱的SIMD内部函数来导出用户友好的界面。 Pure SIMD还通过不同的方式提供了用户友好的界面。 它只是在编译时展开各种向量操作引入的循环,而将其余工作留给编译器。 现代编译器可以轻松地从它们生成SIMD指令,然后完成矢量化。 这个简单的想法为Pure SIMD带来了以下优点: 简单性。 该实现使用可变参数模板来展开由各种矢量操作引入的循环,并构建用户友好的界面。 既不需要内部函数,也不需要额外的库依赖项。 如果您知道可变参数模板,则可以非常快速地编写自己的版本。 可扩展性。 您可以使用基本构造轻松实现各种矢量操作。 没有什么可以限制您的双手。 可移植性。 所有代码均以标准c ++ 17编写,没有任何额外的依赖关系,也没有内部函数。 某些高级矢量操作在您的计算机


【文件预览】:
pure_simd-master
----scripts()
--------build.sh(41B)
--------benchmark_sum.sh(70B)
--------benchmark.sh(161B)
--------config.sh(100B)
--------benchmark_shader.sh(73B)
--------test.sh(70B)
--------clear.sh(67B)
----.clang-format(3KB)
----conanfile.txt(60B)
----CMakeLists.txt(673B)
----benchmark()
--------main.cpp(52B)
--------sum.cpp(6KB)
--------shader.cpp(1KB)
----example()
--------sum.hpp(2KB)
--------shader.cpp(2KB)
--------shader.hpp(794B)
----LICENSE(1KB)
----test()
--------sum.cpp(1KB)
--------vector.cpp(7KB)
--------shader.cpp(909B)
----README.md(12KB)
----.gitignore(41B)
----include()
--------pure_simd.hpp(20KB)

网友评论