我正在做一些需要SIMD的工作,我需要对双精度数组进行操作。是否有主流架构支持这一点?我只看到过浮点运算。
提前谢谢你,斯特凡
发布于 2009-02-15 21:50:07
可以,x86可以使用SSE2指令完成此操作。也是一个单元格,尽管它在进行双精度计算时的性能相当糟糕。
发布于 2009-02-15 22:24:25
ARM VFP也可以做双倍的工作。
新的NEON SIMD扩展( btw.到目前为止我见过的最好的SIMD指令集)只能处理32位浮点数。
发布于 2009-02-15 22:47:55
Here's C++编译器在VS2008中支持的SEE2内部函数。
正如jalf所提到的,单元处理器对单指令多路复用的双精度支持会对性能造成很大的影响(我相信PS3中不使用的芯片的以后的迭代会有很大的改进)。
就主流而言,SSE2于2001年出现在奔腾4中,因此在x86行业中非常普遍。根据steam hardware survey的说法,95%的人患有SSE2,所以我认为将其作为目标是安全的。
https://stackoverflow.com/questions/551647
复制相似问题