15

iOS / Android ARMデバイス用の最速のFFTライブラリは何ですか?そして、人々がiOS / Androidプラットフォームで通常使用するライブラリは何ですか?vDSPはiOSで最も頻繁に使用されるライブラリだと思います。

編集:私のコードはhttp://anthonix.com/fftsにあり、BSDライセンスを使用しています。AndroidとiOSで動作し、libav、FFTW、vDSPよりも高速です。

EDIT2:誰かがPOWER7マシン(または他のマシン)へのアクセスを提供できる場合は、私にメールしてください。よろしくお願いします。

乾杯、

4

3 に答える 3

11

これは、ARM でのさまざまな fft アルゴリズムのベンチマーク ページです。

http://pmeerw.dyndns.org/blog/programming/neon3.html

そのページから最速の FFT 実装は LibAv であり、これには Neon に最適化された fft http://libav.org/があります。

于 2011-11-25T13:19:10.600 に答える
4

ARM Cortex-A9 で NEON に最適化された多くの FFT ライブラリを比較しましたが、" libav " は確かに最速の FFT コードですが、次のようになります。 - シングルスレッド - 1D FFT のみをサポート - 2 のべき乗次元のみをサポート、 - 実数の入力/出力に対するさまざまな最適化はありません (複素数から複素数への FFT のみです)。

一方、「FFTW」(公式バージョンまたは Vesperix バージョンのいずれか) はマルチスレッドで、2D FFT をサポートし、ペナルティがほとんどない非 2 のべき乗次元をサポートし、実際の入出力を完全に最適化します。複雑な入出力の代わりに。

したがって、FFT の要件によっては、余分な機能があるため、FFTW の方がプロジェクトにとって高速である可能性がありますが、libav が提供する FFT のみが必要な場合 (または、NEON とマルチスレッドを使用して自分で追加機能を作成する場合)、libav は実際には最速の 1D Complex-to-Complex FFT コード。

参考までに、FFTW NEON 最適化は、libav NEON 最適化を実行した人の学生によって実行されたようです。ですから、学生またはメンターからのコードのどちらがよいでしょうか ;-)

もう 1 つの問題は、libav が LGPL ライセンスを使用しているのに対し、FFTW は GPL ライセンスを使用しているため、FFTW の適切なライセンスを購入するために多額のお金を支払う意思がある場合を除き、より制限が厳しいことです。

(個人的には、libav の 1D FFT に加えて NEON とマルチスレッドを使用して、独自の 2D と実データの機能を作成することになりましたが、FFT の専門家ではなかったので、大変な作業でした!)

于 2012-11-18T12:55:08.170 に答える
1

Cricket FFTも試してください。Neon の最適化もあり、非常に寛容なライセンス (zlib) があります。

于 2012-11-21T23:44:35.323 に答える