質問: 7年前頃、FPGAについて非常に注目して理想な画像処理装置と思っていました。 ところが、調べるに連れてがっかりしました。 以下は私がFPGAに対する認識ですけれども、どんなご意見でも宜しいですので、 ぜひ**ご批判、ご高見を承りたい。** 1 有名なFPGAメーカー(2つ)ともにIP(知的な資産)を強調して、基本道具としてのFFTでさえライセンス料を払わなければ利用できない(処理サイズの小さいFFTならフリーだけど)。 これに対してNVIDIAのGPU環境では何でも「フリー」----いろんなGPU化済みの数学LIBをただで、即座に利用できる。 2 開発環境:FPGAが高価な開発環境、開発ツールが必要 (GPUは無料) 3 GPUに任せる仕事は事前に知る事が必要なく、アプリケーション起動してからどんな仕事を任せても良いし,どんな並行実行要望を出してもエラーにならない(リソースが足りたい場合、自動スケジューリングしてくれて、能率良く実行してくれる)。に対して、FPAGを起動時点でこれからやる仕事を全部FPGAに知らせる必要。 4 FPGAは**実行時動的に変更や、部分的に変更(並列処理内容の変更)ができない** -----将来的にできる? 5 ソフトコードを論理回路に変換する(焼き付ける)時間が長く==一日以上かかる事もあるって、開発とデバグ、修正能率が悪い。 6 FPGAアプリケーションのバージョン更新には専門知識が必要とし、普通のエンドユーザができないので、問題があれば**FPGAそのものを回収せざるを得ない**。 **これは大変だ!** 7 画像処理分野はあの手この手を使うので、大量のLIBが必要なのに、**FPGAはフリーLIBが貧弱** に対して、NVIDIAは豊富なLIBを提供してくれる。それに、世の中ただで利用できるGPU LIBがいっぱいある。 8 AIにおいてGPUより速いと宣伝されているようですが、なかなか普及されていないですね。 原因は何でしょうか。 虚偽や過大宣伝? 例えば、凄い旧版のGPUと比べたり、そのメーカー内部で非常に特殊なやり方や評価の仕方だったりして、世の中の人に利用や実証させる事ができないのでは? 9 とにかく、今の時点(2018年3月3日)において、 deep learning 分野に関して、最新のFPGAは最新のGPUに速度や精度の面に勝っていない。 そして**今後も、AIにおいてFPGAはGPUに勝つことに理論的な根拠も兆候も皆無では?** **===補足説明===** 下に「お母さん」「お父さん」のお話を頂いたので、やはり上記文章に対する補足説明をしなければならないと思います。 自分は画像処理や信号処理専門で、あくまでこのような分野においての注文です。 勿論処理内容が固定で、ロジックや計算簡単で+リアルタイム性が高い要求の場合は FPGAはベストです。 例えば、並行I\O制御、特定の通信プロトコルの実装、国際規格で決まった画像圧縮・伸長処理にはFPGAが向いています。 処理内容が乱雑であの手この手の数学手法を駆使しなければならないし、 進歩や変動の激しい算法の実装にFPGAは向かないではと自分の実感ですね。 本来AI分野でのFPGAの活躍にも期待していたのですが、 AIにおいてGPUより速いと宣伝されているようですが、なかなか普及されていないですね。 原因は何でしょうか。
回答: 以前何処かで書いた回答をそのままここにおいておきます -- 全く機能の違うものを比較しても意味はない、というのを学びましょう。 FPGAというものが理解できていない、理解できないというのは決して恥ずべきものではないですが、理解するつもりがない、と公言するのは周りから失笑をかう行為となります いくらあなたのお母さんが、どこかでカネを稼いできているからと言って、決してお父さんの代わりになるものではありません。 いくらあなたのお父さんが、完璧に家事をこなすといっても、決してお母さんの代わりになるものでもないです。