最終更新時刻:2009年11月26日(木) 20時40分
64

Grape-DRの性能

公開日時:
2007/12/20 10:24
著者:
能澤 徹

【追加:こちらもご参照ください。

GRAPE-DRはスパコンではないらしい(2009/04/24)

GRAPE-DRの性その2 2008/07/18 】 

  これも旧聞に属するマイナな問題の一つであるが、SC07の発表の中にGrape-DRがあり、そのPaperがUpされていたので、年内の忘れないうちに若干のコメントを加えてみたい。まあ次世代スパコンや地球シミュレータに比べればゴミではあるが、赤字財政の中で科学技術振興調整費として、15億円もの国税を支出しているのであるから、国民に対する「けじめ」は必要であろう。

 Paperの要点は以下のようなものである。

・科学技術計算には重力多体や分子動力学などLow Memory Bandwidthのアプリケーションがある。CFD、FFT、などはこの範疇ではない。

Grape-DRは、この分野向けに、2チップ(FPGA+ASICチップ)構成で設計した。

ASICチップには512の単精度演算コアと共有メモリを集積し、このASICをFPGAで制御する構造である。

・それらを1組載せたテスト用ボードを作った。(理論性能;単精度512Gflops、倍精度256Gfloops)

・このテストボード上で、重力多体問題のエルミート積分法によるプログラムを作って測定を行い、N=1024で、およそ50Gflops、を達成した。

 まあ、NETSはこんなものである。
 この重力多体の50Gflopsが単精度なのか倍精度なのかの記述はないが、AppendixのSample codeのC言語の部分がdoubleになっているので倍精度と考えることにしよう。するとこの実行性能比は 50/256で、19.5% となる。

 Grape-DRは重力多体専用機GRAPEの拡張と考えられ、重力多体問題はGrape-DRに最も適したアプリケーションと考えられる。GRAPE-6のシステムは理論性能64Tflopsで実行性能33.4Tflopsとなっているので実行性能比52.2%である。従って、Grape-DRの19.5%という効率はGRAPE-6の半分にも満たない効率ということである。

 Paperの中には、「Performanceの表」が示されているが、実測値はこの重力多体での50Gflopsだけである。これ以外の数値は全て予測値で、Grape-DRチップとホストの間のコミュニケーション・オーヴァーヘッドを無視した場合に得られると主張する予測値である。しかし、それらの具体的な算定根拠は示されておらず、単に希望的数値を並べただけとしかいいようがなく、表を埋めるための「枯れ木も山の賑わい」的な数値としか思えないものである。 特に、予測値だけで実測をしていないアプリケーションに関しては、予測値を算定するためにコードを書いたのであれば、すぐにでも実測し、実測値を掲載すべきであり、予測値だけを載せるなどということは、印象操作もはなはだしく、全く論外である。チップ完成の大々的発表からすでに1年も経過していることを考えれば、尚更である。

 これらはチップの性能に関してであるが、システムとして組上げた場合は、さらにシステムとしてのオヴァーヘッドがのしかかってくるため、実行性能はさらに低下せざるを得ないことは自明であろう。

  さて次に、このPaper全体を直裁に忌憚なく評価させてもらうと、このPaperは、そもそもの主張・論旨を支えるべき数値が欠落した典型的駄目Paperといわざるを得ない。学術Paperの基本的論理構成は、皆様ご承知の通り、Paperが主張する、なにがしかの仮設/設計とその位置付けを述べ、そして、その仮設/設計の有効性を確認するため、モデルの作成、実測試験を行い、なにがしかの実測データを得て、その結果を検証し、実測データにより、仮設/設計の正当性を確認・主張するというものである。

 ところが、このPaperでは、得られた50Gflops、実行性能比19.5%という実測データでは、設計の有効性を支持するどころか、反対に、設計に疑問を投げかけるようなデータで、「設計そのものが可笑しいのではないか」ということになってしまう構図なのである。従って、いくら連綿と設計思想の正当性を書き連ねても、実測的に「有効でない設計」では、その正当化そのものの信憑性すら問われてしまうことになっているのである。要するに、マイナス効果しか残らないPaperということである。 

 加えて、このPaperは、昨年のチップ完成の大々的な報道発表などを通してHPCに関心を持つ国民に、「Linpackが作動し」などといっていた件に関しても、触れていないのである。

 そもそも、このGrape-DRのようなアクセラレータを、Linpackが作動する「専用機の性能を持った汎用超並列機」などとして世界最高速を目指すなどといった宣伝をしていたことが羊頭狗肉なのである。Linpack本体はGrape-DRカードを接続するホストPC上で作動するわけで、Grape-DRはLinpackの中で使用されるDGEMM(倍精度のMatrixどうしの乗算)用のサブルーティン演算器として使われるに過ぎないからである。

 これは、
東工大のTSUBAMEにおけるClearSpeedのFPUアクセラレータCSX600/620と同じで、本体として高性能なスパコンが必要であり、CSXはその本体のTSUBAMEの性能を増進させるといっただけのものなのである。TSUBAMEのCSXの例では、TSUBAME本体の38.2Tflopsを47.4Tflops-56.4Tflops程度に引き上げたのであるが、本体のTSUBAMEがあってのCSXなのである。

 従って、Grape-DRがあたかも汎用機であるかのように宣伝していたのは甚だ問題であり羊頭狗肉なのであり、しかも、Paperの中では、宣伝ラッパを吹きまくった優先度の高いLinpackに関する、DGEMMの実測性能を示すことが出来ないでいることは、プロジェクト管理上、甚だ問題なのである。

 いずれにせよ、チップを修正するにしろ、このままであるにしろ、FY2008年度中には公式な最終結果を出さねばならないわけで、15億円もの血税を費やしたプロジェクトの成果は大いに注目されるわけである。

 勿論、筆者はこのプロジェクトが民間の資金で行われているのであれば、取り立てて関心はない。国税から支出されているプロジェクトであり、次世代スパコンからのおこぼれを狙っているようなプロジェクトであるので、大いに関心を寄せるわけで、まあ、民間資金であれば、そもそも、このような稚拙なプロジェクトに出資する人はいないであろうから、関心を寄せる必要もないであろう。

 反論はWelcome。 大いに数値に基づく議論をすべきでしょう。

 なお、筆者の誤解、思い違い、転記ミス、計算違い、あるいは不適切な表現等がございましたら、ぜひ、コメント欄にてご指摘いただけますと幸いです。

参考

GRAPE-DRプロジェクト

世界最高速のコンピュータ開発プロジェクトがスタート

世界最高速のスーパーコンピュータ用プロセッサチップ開発に成功

分散共有型研究データ利用基盤の整備」実施計画

平成18年度科学技術振興調整費評価結果概要

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

4

To:コメント#2

 行列積の件、了解いたしました。 
HPCCのデータでは、DGEMMはどれも殆どPeakに近い値がでてますから、GRAPE-DRチップ内70−80%というのは、まあまあそこそこ、でしょうかね。しかしFPGAが曲者ですね。パスはMem−FPGA−GRAPE-DRですか。転送速度に加え、GRAPE側がDual Bufferであればいいですが、Singleだったりすると致命傷になり兼ねませんね。

 全般に関しては、プロジェクト・マネジメントがまずいですね。通常、Performanceがらみのリスクの高い部分は、かなり早い段階で抑えて置くべきなのですが、GRAPE-DRの場合、テストボードがPerformance測定に支障がある設計になってしまっているというのはまずいでしょう。その結果、プライオリティの高いリスクを先送りにせざるを得ない状況にしてしまっているようですからね。また、ボードの必要数量も、壊れたら代わりがありません、というのでは学生実験みたいで、ちゃんとしたプロジェクトとしてはどうでしょうかね。 全般的に、関心しませんね。早い段階でチェックが出来れば、2nd Pass, 3rd Passもスケジュール出来るんですけどね。
 
 SC07などのBig Conferenceでの発表では、データバッチリでビシッと決めてほしかったんですけどね。

  能澤 徹 on 2007/12/20

3

To:コメント#1

 ASCI=>ASIC の件、了解致しました。本文を訂正致します。

 最終性能に関しましては、まだ1年少々ありますから、頑張ってほしいところです。

  能澤 徹 on 2007/12/20

2

GRAPE-DRでのプログラム経験のある者です。この論文の著者では無く、科学技術振興調整費からお金は頂いていません。少し補足します。

(1) 行列積演算の実測性能が示されていない理由です。論文に書いてありますが、テストボードにはdata memoryを載せておらず、FPGAに保存しています。そのためテストボードでは小サイズの行列積しか計算できないのですが、この場合計算量O(N^3)が通信量O(N^2)より大きくないので、そもそも効率は高くない。だから測定しなかったのだろう。512次元(1024次元だったか)以上の倍精度行列積では、GRAPE-DR内の演算効率(つまり制御FPGAがGRAPE-DRにdataを送って回収するまで)は、ピーク性能256 GFLOPsの70-80%です。Pipeline stall等が無いので命令数(data転送も含む)とclockから実行時間が予想できますが、拝見した行列積プログラムには空slotが殆どなく、これ位だと思います。制御FPGAとGRAPE-DRのdata転送速度の実測値は、残念ながら私知りません。原著者にお尋ね下さい。

(2)「予測値を算定するためにコードを書いたのであれば、すぐにでも実測し、実測値を掲載すべき」とは御指摘の通りです。私以前GRAPE-DR用のcodeを書いて実測をお願いしたのですが、その前にテストボードが故障してしまったそうです。次のテストボードが間に合わなかったので、測定値が1個だけなのだと思います。

  yasudak on 2007/12/20

1

> 従って、Grape-DRの19.5%という効率はGRAPE-6の半分にも満たない効率ということである。

専用機の性能を持った汎用超並列機としてだけではなく、
専用機としての性能も疑問が持たれる状況なのでしょうか?

計算用途が明確な科学技術計算は、専用のハードウェア
アクセラレータを使用する事によって、劇的に安価になるという考え方には、
期待していたのですが。

あと、ASCIチップ->ASICチップの誤記と思われます。

  タクジ on 2007/12/20

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

CNET_ID

メンバー限定サービスをご利用いただく場合、このページの上部からログイン、またはCNET_ID登録(無料)をしてください。