何时在苹果macOS上使用Metal而不是Accelerate API?

4

我目前正在编写一款桌面音频处理应用程序。它的目的是进行大量信号处理,因此我非常关注性能和可靠性。

我已经使用了 Audio toolbox/Core Audio API,但对于自定义音频处理,我想知道 Metal 和 Accelerate 哪个更适合。有人知道它们的区别吗?或者有基准测试数据吗?我在谷歌上没有找到真正有用的东西...

1个回答

3

金属着色器使用GPU加速,而加速API使用CPU。因此,这取决于您所使用的系统提供的GPU类型,以及您的自定义处理内核是否能够有效地利用GPU。例如,可能包括大规模并行的算法,比如对大型2D数据数组进行卷积(比1D实时音频缓冲区要大得多)。


谢谢@hotpow2。如果我理解正确的话,我应该查看支持Metal的Mac电脑列表(我为读者提供了链接参考),并且还应该测试它是否对“小”数据大小有实际收益。我猜这是由于时间转移引起的,对吧? - DEADBEEF
1
GPU处理器核心的时钟速率通常比计算机的主CPU慢得多,这意味着具有较少并行性的任务不会受益。而将数据分成更小的可并行化块则会遇到Amdahl定律的负面影响。 - hotpaw2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接