Jus*_*oIt 7 gpgpu fft ios vdsp
我正在为iOS(即iPhone或iPad)实现大量使用快速傅里叶变换(以及一些信号处理操作,如插值和重采样)的计算密集型应用程序.什么是允许在iOS上运行FFT的最佳库和API?
我简要介绍了Apple Metal以及Apple vDSP.我不确定vDSP是否使用GPU,尽管它似乎是高度并行化并使用SIMD.Metal似乎允许访问GPU用于计算密集型应用程序,但我无法找到用于FFT和基本信号处理操作的库(类似于AMD的clFFT).Apple是否提供此类库?
是否有其他适用于iOS的GPU适用于计算密集型应用程序的API和库?
谢谢.
vDSP 实际上使用内置的(从 iPhone 3GS 开始)NEON 矢量算术处理器,正如您已经说过的那样,它是一个 SIMD 引擎,并且对于某些任务(包括 FFT)来说非常快。
我没有在 GPU 上计算 FFT 的经验,但我怀疑它会比 vDSP 中的 NEON 指令更快,因为它的唯一目的是这些与媒体和信号处理相关的任务。
vDSP 在底层使用 Arm NEON 指令,使它们的使用变得非常简单。如果你想动手,你也可以手动使用 NEON 指令集,但我认为即使在运行时与 vDSP 相当也将是一个挑战,特别是如果你只需要像 FFT 这样的开箱即用功能。
如果您想自己测试 NEON 引擎,有一个很棒的基准测试作为 Android 设备的 APK,可以测试常规计算与 NEON 计算。您唯一需要注意的是,如果您的数据大于 L1 Cache,则 L2 Cache 访问将成为限制因素,如果超出此范围,则不会有明显的运行时优势。
| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |