使用 Metal 进行 64 位数字运算

Edu*_*rdo 2 accelerate-framework ios8 metal

有一篇文章声称,对于大量数字的计算,Metal 可能比 Accelerate 框架更快。

在查看 Metal 着色器语言的文档后,我意识到不支持双精度浮点数或 64 位整数数组。我是否忽略了什么?我以为 Metal 是为 64 位 A7 处理器设计的?

Ste*_*non 5

A7 上的 CPU 支持 64 位整数和双精度浮点数。GPU 则不然。金属着色器在 GPU 上运行,而不是在 CPU 上运行。

顺便说一句,该博客文章中的基准非常值得怀疑。它以极其低效的方式使用 Accelerate。虽然编写良好的 Metal 肯定有可能比正确使用 Accelerate 接口更快,但这并不是基准测试真正显示的。

  • 如何编写更有效的 Accelerate 方法?我很乐意运行新的基准测试。(我写了提到的博客文章) (2认同)