双精度数组上的 SIMD?

发布于 2024-07-13 20:58:37 字数 91 浏览 5 评论 0原文

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

提前致谢, 斯特凡

I'm doing some work where SIMD is required and I need to do operations on an array of doubles. Do any of the mainstream architectures support this? I've only seen floating point operations.

Thanks in Advance,
Stefan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

岁月静好 2024-07-20 20:58:37

是的,x86 可以使用 SSE2 指令来做到这一点。 CELL 也是如此,尽管在进行双精度计算时它的性能非常糟糕。

Yes, x86 can do it with the SSE2 instructions. A CELL too, although it's performance is pretty awful when doing double-precision computations.

最美不过初阳 2024-07-20 20:58:37

ARM VFP 也可以做双打。

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

ARM VFP can do doubles as well.

The new NEON SIMD extension (which is btw. the best SIMD instruction set that I've seen so far) can unfortunatley only deal with 32 bit floats.

时光暖心i 2024-07-20 20:58:37

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

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

就主流而言,SSE2 于 2001 年出现在 pentium 4 中,因此在 x86 行业中广泛使用。 根据 steam 硬件调查,95% 的人口患有 SSE2,所以我认为针对它是安全的。

Here's the SEE2 intrinsics supported by the C++ compiler in VS2008.

As mentioned by jalf the CELL processors double precision support for SIMD takes a significant performance hit (I believe later iterations of the chip not used in the PS3 have much improved behaviour).

In terms of main stream SSE2 came in the pentium 4 in 2001 so is widespread in the x86 industry. according to the steam hardware survey 95% of that population has SSE2 so i think it's safe to target it.

起风了 2024-07-20 20:58:37

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

CUDA running at compute capability 1.3 or grater can do it, too. The newer GTX 2xx cards can do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文