2009-02-15 75 views
2

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

由于事先 斯特凡

回答

3

是,X86可以与SSE2指令去做。 CELL也是如此,虽然在进行双精度计算时性能非常糟糕。

+0

嘿,这是怎么得到的唯一答案呢? ;) 其他人看起来一样正确,不是吗? – jalf 2009-02-15 22:46:56

+0

我只看过SSE1,这是我需要的答案。非常感谢! – 2009-02-16 00:10:39

1

ARM VFP也可以兼容双打。

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

0

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

1

Here's VS2008中C++编译器支持的SEE2内部函数。正如jalf所提到的,CELL处理器对SIMD的双精度支持会带来显着的性能提升(我相信后来在PS3中未使用的芯片迭代的性能有了很大改进)。

就主流而言,SSE2于2001年进入奔腾4,所以在x86行业中很普遍。根据steam hardware survey 95%的人口拥有SSE2,所以我认为目标是安全的。