2

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

提前致谢, 斯特凡

4

4 回答 4

3

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

于 2009-02-15T21:50:07.203 回答
1

ARM VFP 也可以做双打。

新的 NEON SIMD 扩展(顺便说一句。迄今为止我见过的最好的 SIMD 指令集)只能处理 32 位浮点数。

于 2009-02-15T22:24:24.547 回答
1

这是VS2008 中 C++ 编译器支持的 SEE2 内部函数。

正如 jalf 所提到的,CELL 处理器对 SIMD 的双精度支持对性能造成了重大影响(我相信 PS3 中未使用的芯片的后续迭代具有很大改进的行为)。

就主流而言,SSE2 于 2001 年出现在 pentium 4 中,因此在 x86 行业中很普遍。根据Steam 硬件调查,95% 的人拥有 SSE2,所以我认为瞄准它是安全的。

于 2009-02-15T22:47:54.957 回答
0

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

于 2009-02-15T22:29:10.540 回答