« ISEの日本語フォント設定 | トップページ | 本物のシリコンOS »

2011年12月18日 (日)

FPGAの得手不得手な計算

演算性能の観点であたらためてFPGAの向き不向きを考察しておこうと思う。

まず、弱い部分の比較。
CPUやGPUがもっとも基本的に得意とする浮動小数点でのFLOPS観点で比較してみる。
現在、数万円程度のGPGPUのチップで1TFLOPSが買える時代になっている。

  一方で、XILINX の最新 7シリーズのうち、コストパフォーマンス重視の Kintex系がDegiKey価格で XC7K325T 134,689円 である。
  DegiKeyの単品価格なので、まあ普通にメーカーからロット買いできればGPGPUといい勝負のお値段かと想像する。

  http://japan.xilinx.com/support/documentation/data_sheets/j_ds180_7Series_Overview.pdf

  によると XC7K325T のスペックは

  スライス : 50,950個(LUT:203,800, FF:407,600個)
  DSP      : 840 個 (25x18乗算器など)
  BRAM     : 16,020 kbit

  といったところである。

  XILINX の 浮動小数点コアを見ると、単精度実数の乗算でDSPを1個消費で462MHzといったところらしい。
  http://www.xilinx.com/support/documentation/ip_documentation/floating_point/v6_0/ds816_floating_point.pdf

  840個 * 462MHz = 388,080 MFLOPS となる。

  もっと悲惨かと思ったが、性能差1桁以内に迫っており、意外といい勝負をする。
  近年DSPブロックの数が急激に上がってきているのが効いていそうだ。

次にFPGAの得意な部分。DSPではなくロジックセルを駆使する分野。
たとえば、ライフゲームのような周辺4箇所+自分自身の5bitの情報を元に自分自身の次の値を決めるようなものを考えてみる。
1つのLUTと1つのFFで1ノード構成できる。600MHzで動くと仮定して、50,950 * 600MHz = 30,570 GOPS となる。CPUの場合、上記のような計算では、1つのセルを求めるのに6命令ぐらい使ってしまうので、100倍差ぐらいまで出せる。
極端な話、FPGAが持つFFすべてに、毎クロックごとに有意な結果が格納されるとみなせば論理限界は 60 TOPS ぐらいとなるし、それがCPUの苦手計算であれば100~1000倍ぐらいのオーダーで論理MAXの差が出せる。
  実際、2値化された画像のパターン認識とか、それに近い実用アプリもそれなりにありえると思われる。

ということで、有利/不利を比べてみたが、状況別に使い分けていくしかないなという結論しか出ないが、GPGPUに次ぐ、コンピューティング用のアクセラレータとしてFPGAのようなものがPCに搭載される日も来るかもしれない。

« ISEの日本語フォント設定 | トップページ | 本物のシリコンOS »

FPGA」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: FPGAの得手不得手な計算:

« ISEの日本語フォント設定 | トップページ | 本物のシリコンOS »