オーディオを処理するいくつかの DSP カードは、非常に高速なフーリエ変換や、サウンド処理などに関連するその他の機能を計算できると読みました。量子力学のように、フーリエ変換の計算を伴う科学的な問題がいくつかあります (多くはありません)。GPUが他の場合に行うように、DSPを使用してこの方法で計算を高速化できるかどうか、また成功例を知っているかどうか疑問に思います。
ありがとう
オーディオを処理するいくつかの DSP カードは、非常に高速なフーリエ変換や、サウンド処理などに関連するその他の機能を計算できると読みました。量子力学のように、フーリエ変換の計算を伴う科学的な問題がいくつかあります (多くはありません)。GPUが他の場合に行うように、DSPを使用してこの方法で計算を高速化できるかどうか、また成功例を知っているかどうか疑問に思います。
ありがとう
DSP チップでは、線形演算をより簡単かつ高速に実行できます。それらのアーキテクチャにより、線形演算 (2 つの数値を取得し、それぞれに定数を掛けて結果を加算する) を 1 クロック サイクルで実行できます。これが、DSP チップで FFT を非常に高速に計算できる理由の 1 つです。これはまた、他の多くの線形演算を高速化できる理由でもあります。そのようなプロセッサのパフォーマンスとコードの最適化に関して、3 つの主なポイントがあると思います。
1) 関連性は低いかもしれませんが、それでも言及したいと思います。DSP プロセッサのアーキテクチャを最大限に活用するには、アセンブリでコーディングする必要があります。通常の C コードは、コンパイラーによって完全には最適化されず、ユーザーが望むことを行うことはできないと確信しています。文字通り、各レジスタなどを指定する必要があります。しかし、それは報われます。同様に、循環バッファーやその他の DSP 固有のものを利用できます。循環バッファーは、FFT および FFT ベースの (循環) 畳み込みの計算にも非常に役立ちます。
2) FFT は、熱流(フーリエ自身が実際に 1800 年代に解決策を思いついた)、機械的振動 (または、量子物理学の振動子を含む、線形振動子) の分析など、多くの問題の解決策として利用できます。、脳波(EEG)の分析、地震活動、惑星運動、その他多くのこと。畳み込みを含む数学的な問題は、アナログまたは離散のフーリエ変換を介して簡単に解決できます。
3)オーディオ処理を含む上記のアプリケーションの一部では、FFT 以外の他の変換が絶えず発明、発見され、処理に適用されています。離散コサイン変換(JPEG コーデックなど) およびその他多数。ただし、量子物理学では、フーリエ変換は角運動量の方程式に固有のものです。それは、分析や簡単な計算のためだけではなく、自然に発生します。このため、オーディオ処理と量子力学でフーリエ変換を使用する理由を必ずしも同じカテゴリに入れるとは限りません。信号処理の場合、これはツールです。量子物理学の場合、それは現象の性質にあります。
主流の CPU で GPU と SIMD 命令セットが使用される前は、これが一部のアプリケーションでパフォーマンスを得る唯一の方法でした。20 世紀後半、私は、PCI スロットに追加のプロセッサを配置する PCI カードを製造する会社で働いていました。これらの一部はTI C64x DSPを使用する DSP カードで、他は Altivec を提供する PowerPC カードでした。通常、カードのプロセッサには、ホストよりも予測可能なリアルタイム スケジューリングを提供するオペレーティング システムがありません。顧客は、大きな PCI バックプレースを備えた産業用 PC を購入し、複数のカードを取り付けます。また、より厳しい環境向けに、PMC、CompactPCI、VME などのフォーム ファクターのカードも作成します。
これらのカードで実行するコードを開発し、PCI バスを介してアドイン カードと通信するアプリケーションをホストします。これらは開発が容易なプラットフォームではありませんでしたが、GPU コンピューティング用の最新のライブラリははるかに簡単です。
今日では、これはあまり一般的ではありません。価格/性能比は、汎用 CPU と GPU の方がはるかに優れており、科学計算用の DSP は消えつつあります。現在の DSP メーカーは、低消費電力の組み込みアプリケーションや、デジタル カメラなどのコスト重視の大量生産デバイスをターゲットにする傾向があります。GPUFFTWをこれらのアナログ デバイス ベンチマークと比較してください。DSP は 3.2GFlops でピークに達し、Nvidia 8800 は 29GFlops に達します。