FPGAとGPUの処理速度においてどちらが優れていますか？


大規模(あるいは小規模)な画像処理や機械学習、人工知能を実装するとしたら、GPUとFPGAどちらが優秀ですか？  
超高性能FPGAでもGPUには処理速度の面では勝てないように個人的には考えています。パイプライン化が困難な事やハードである故の物理的な遅れがあると思うので。  
皆さんはどう思いますか？ぜひ皆様のご意見が聞きたいです。




ケースバイケースです。

まず、CPU に性能の低いものから高いものまであるように、FPGA や GPU にもバリエーションがあります。また、FPGA
はプログラマブルな回路を作るためのものである一方、GPU は画像用の演算をするためのものであり、(GPGPU はできるものの)
目的が異なります。更には、それぞれのハードウェアを動かすためのソースコードをどのように作るのかという部分にもバリエーションがあります。

このため、問題設定や実際のシステム設計に応じて「どちらが速いのか」は変わりえます。つまり、そもそも今回のご質問の前提が広すぎます。

FPGA と GPU の速度比較は論文にもなっていて、 <https://scholar.google.co.jp> で "FPGA GPU"
をキーワードに調べるといくつか調査結果がヒットします。たとえば少し古い結果ですが、Asano, S., Maruyama, T., Yamaguchi,
Y. "Performance comparison of FPGA, GPU and CPU in image processing" (2009)
では、問題によって FPGA が速くなったり GPU が速くなったりしています。また、FPGA と GPU を組み合わせて使う研究もあります。

最後に、これらとは別視点の指摘として、FPGA で GPU を作る試みがあるため、二者は完全に分けられるわけではない、というものもあります。たとえば
<https://github.com/jbush001/NyuziProcessor> は FPGA 上で GPGPU をするプロジェクトです。

