7

高速フーリエ変換 (および補間やリサンプリングなどの信号処理操作) を多用する iOS (つまり、iPhone または iPad) 用の計算集約型アプリケーションを実装しています。iOS で FFT を実行できる最適なライブラリと API は何ですか?

Apple Metal と Apple vDSP について簡単に調べました。vDSP は高度に並列化されており、SIMD を使用しているように見えますが、GPU を使用しているかどうかはわかりませんでした。Metal は、計算集約型アプリの GPU へのアクセスを許可しているようですが、FFT および基本的な信号処理操作 (AMD の clFFT のようなもの) 用のライブラリを見つけることができません。Apple はそのようなライブラリを提供していますか?

計算集約型のアプリに適した、iOS 用の GPU を利用する他の A​​PI やライブラリはありますか?

ありがとう。

4

4 に答える 4

2

vDSP は実際には組み込みの (iPhone 3GS 以降) NEON ベクトル演算プロセッサを使用します。これは、既に述べたように SIMD エンジンであり、FFT を含む特定のタスクに対して非常に高速です。

GPU で FFT を計算した経験はありませんが、vDSP の NEON 命令ほど高速になるとは思えません。その唯一の目的は、これらのメディアおよび信号処理関連のタスクであるためです。

vDSP は内部で Arm NEON 命令を使用しており、非常に簡単に使用できます。使いこなしたい場合は、NEON 命令セットを手動で使用することもできますが、特に FFT のような箱から出してすぐに使える機能のみが必要な場合は、vDSP ランタイムに匹敵することさえ難しいと思います。

NEON エンジンを自分でテストしたい場合は、通常の NEON 計算と比較してテストする Android デバイス用の APK として優れたベンチマークがあります。注意すべき唯一のことは、データが L1 キャッシュよりも大きい場合、L2 キャッシュへのアクセスが制限要因になり、これを超えても実行時の顕著な利点は得られないということです。

于 2015-01-02T12:13:51.880 に答える
0

Surgeはまさにあなたが必要としているものであることがわかるでしょう。そしてそれは純粋な Swift で書かれています!

于 2015-01-11T13:25:48.700 に答える
0

ここで私の答えを見てください: https://stackoverflow.com/a/19966776/468812

そこにあるコードはオーディオ処理に FFT を使用していますが、あらゆる信号に適用できます。

于 2015-03-09T13:02:35.207 に答える