SIMD上的双打数组?

时间:2009-02-15 21:41:09

标签: c floating-point double simd

我正在做一些需要SIMD的工作,我需要对双打数组进行操作。任何主流架构都支持这个吗?我只看过浮点运算。

先谢谢, 斯蒂芬

4 个答案:

答案 0 :(得分:3)

是的,x86可以使用SSE2指令来完成。也是一个CELL,虽然在进行双精度计算时它的性能非常糟糕。

答案 1 :(得分:1)

ARM VFP也可以做双打。

新的NEON SIMD扩展(这是迄今为止我见过的最好的SIMD指令集)可能不幸只能处理32位浮点数。

答案 2 :(得分:1)

Here's VS2008中C ++编译器支持的SEE2内在函数。

正如jalf所提到的,CELL处理器对SIMD的双精度支持会带来显着的性能损失(我相信PS3中未使用的芯片的后续迭代会有很大改善的行为)。

就主流而言,SSE2于2001年进入奔腾4,因此在x86行业中广泛使用。根据{{​​3}} 95%的人口有SSE2所以我认为定位它是安全的。

答案 3 :(得分:0)

以计算能力1.3或更高级别运行的CUDA也可以这样做。较新的GTX 2xx卡可以做到这一点。