【追加:こちらもご参照ください。 GRAPE-DRはスパコンではないらしい!(2009/04/24) Paperの要点は以下のようなものである。 ・Grape-DRは、この分野向けに、2チップ(FPGA+ASICチップ)構成で設計した。 ・それらを1組載せたテスト用ボードを作った。(理論性能;単精度512Gflops、倍精度256Gfloops) まあ、NETSはこんなものである。 Paperの中には、「Performanceの表」が示されているが、実測値はこの重力多体での50Gflopsだけである。これ以外の数値は全て予測値で、Grape-DRチップとホストの間のコミュニケーション・オーヴァーヘッドを無視した場合に得られると主張する予測値である。しかし、それらの具体的な算定根拠は示されておらず、単に希望的数値を並べただけとしかいいようがなく、表を埋めるための「枯れ木も山の賑わい」的な数値としか思えないものである。 特に、予測値だけで実測をしていないアプリケーションに関しては、予測値を算定するためにコードを書いたのであれば、すぐにでも実測し、実測値を掲載すべきであり、予測値だけを載せるなどということは、印象操作もはなはだしく、全く論外である。チップ完成の大々的発表からすでに1年も経過していることを考えれば、尚更である。 これらはチップの性能に関してであるが、システムとして組上げた場合は、さらにシステムとしてのオヴァーヘッドがのしかかってくるため、実行性能はさらに低下せざるを得ないことは自明であろう。
この重力多体の50Gflopsが単精度なのか倍精度なのかの記述はないが、AppendixのSample codeのC言語の部分がdoubleになっているので倍精度と考えることにしよう。するとこの実行性能比は 50/256で、19.5% となる。
さて次に、このPaper全体を直裁に忌憚なく評価させてもらうと、このPaperは、そもそもの主張・論旨を支えるべき数値が欠落した典型的駄目Paperといわざるを得ない。学術Paperの基本的論理構成は、皆様ご承知の通り、Paperが主張する、なにがしかの仮設/設計とその位置付けを述べ、そして、その仮設/設計の有効性を確認するため、モデルの作成、実測試験を行い、なにがしかの実測データを得て、その結果を検証し、実測データにより、仮設/設計の正当性を確認・主張するというものである。
ところが、このPaperでは、得られた50Gflops、実行性能比19.5%という実測データでは、設計の有効性を支持するどころか、反対に、設計に疑問を投げかけるようなデータで、「設計そのものが可笑しいのではないか」ということになってしまう構図なのである。従って、いくら連綿と設計思想の正当性を書き連ねても、実測的に「有効でない設計」では、その正当化そのものの信憑性すら問われてしまうことになっているのである。要するに、マイナス効果しか残らないPaperということである。
加えて、このPaperは、昨年のチップ完成の大々的な報道発表などを通してHPCに関心を持つ国民に、「Linpackが作動し」などといっていた件に関しても、触れていないのである。 これは、 いずれにせよ、チップを修正するにしろ、このままであるにしろ、FY2008年度中には公式な最終結果を出さねばならないわけで、15億円もの血税を費やしたプロジェクトの成果は大いに注目されるわけである。 勿論、筆者はこのプロジェクトが民間の資金で行われているのであれば、取り立てて関心はない。国税から支出されているプロジェクトであり、次世代スパコンからのおこぼれを狙っているようなプロジェクトであるので、大いに関心を寄せるわけで、まあ、民間資金であれば、そもそも、このような稚拙なプロジェクトに出資する人はいないであろうから、関心を寄せる必要もないであろう。
なお、筆者の誤解、思い違い、転記ミス、計算違い、あるいは不適切な表現等がございましたら、ぜひ、コメント欄にてご指摘いただけますと幸いです。
参考
※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
能澤 徹 on 2007/12/20
能澤 徹 on 2007/12/20
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
> 従って、Grape-DRの19.5%という効率はGRAPE-6の半分にも満たない効率ということである。
専用機の性能を持った汎用超並列機としてだけではなく、
専用機としての性能も疑問が持たれる状況なのでしょうか?
計算用途が明確な科学技術計算は、専用のハードウェア
アクセラレータを使用する事によって、劇的に安価になるという考え方には、
期待していたのですが。
あと、ASCIチップ->ASICチップの誤記と思われます。
タクジ on 2007/12/20
ブログにコメントするにはCNET_IDにログインしてください。
この記事に対するTrackBackのURL:
メンバー限定サービスをご利用いただく場合、このページの上部からログイン、またはCNET_ID登録(無料)をしてください。
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での発表では、データバッチリでビシッと決めてほしかったんですけどね。