任何人都可以推荐提供c / c ++ API的便携式SIMD库,适用于Intel和AMD扩展以及兼容GCC的Visual Studio。我希望加快缩放512x512双打阵列的速度。矢量点积,矩阵乘法等。
到目前为止,我找到的唯一一个是: http://simdx86.sourceforge.net/但正如第一页所说它不能在visual studio上编译。
还有英特尔IPP,这对我收集的AMD不起作用。还有来自AMD的Framewave,但我在编译和链接他们的库时遇到了一些问题,他们的论坛已经完全死了。有人设法在任何地方使用Framewave吗?
感谢。
答案 0 :(得分:10)
答案 1 :(得分:9)
由于您提到了对矩阵和向量的高级操作,ATLAS,Intel's MKL,PLASMA和FLAME可能会引起关注。
一些C ++矩阵数学库包括来自Boost,Armadillo,Eigen,IT ++和Newmat的uBLAS。 POOMA库可能还包括其中的一些内容。 This question也指MTL。
如果您正在寻找更低级别的可移植性原语,我的一位同事开发了一个围绕SSE2,Altivec,VSX,Larrabee和Cell SPE向量操作的包装器。它可以在我们的source repository中找到,但如果您想将其作为工作的一部分进行分发,则其许可(学术)可能不合适。它仍然处于重大发展阶段,以满足其针对的应用需求范围。
答案 2 :(得分:3)
答案 3 :(得分:3)
查看macstl:http://www.pixelglow.com/macstl/
答案 4 :(得分:2)