Previous ToC Next

92. 専用化と電力性能比(2010/12/1)

色々作文の季節でもあるので、専用器と汎用(といっても GRAPE-DR ぐらいの) 機の利害得失を考えてみます。ここでは、計算機の性能構成要素として重要な 演算性能、ローカルメモリバンド幅、ネットワーク性能のうち、演算性能だけ を考えます。

GRAPE-6 では、250nm、 14mm角のチップにまあ大体60演算するという勘定の パイプラインを6本いれてます。そうすると大体 360個の演算器です。 GRAPE-DR は、90nm、18mm角で、倍精度だとクロックあ たり 512 演算の勘定です。トランジスタ数は大体20倍で、演算数は1.5倍ですか ら、15倍程度損をしている計算です。

GRAPE-DR では 25x50 ビットの乗算器をいれて、単精度だと性能が倍になるよ うにしています。あまりハードウェア追加しないで、この乗算器を25ビットの 単精度乗算器2つにすると、単精度のスループットを倍精度の4倍にできます。 単精度演算に関しては、ちゃんと作ってあれば GRAPE-6 に比べた損は4倍程度 ということです。

まあ、ちゃんと作ってあれば、というのは、 GRAPE-DR はそんなにちゃんと作っ てない、ということでもあります。上に述べたように単精度演算ではハードウェ アの効率が 1/2 になりますし、また、逆数平方根近似用のハードウェアをもっ てないので初期値推定に余計なサイクルが必要です。また、全部のサイクルで 乗算器と加算器がフルに動くわけではないので、相互作用計算に関しては実行 効率の差は演算器の数の差よりさらに大きいなります。

逆数平方根近似命令ですが、これは、例えばニュートン反復1回で24ビット精 度がでるように13ビット精度くらいをだす、というのが普通の実装です。で、 近似命令を実行するハードウェア自体は、浮動小数点演算器と同じスループッ トをもつようにするのが普通だと思います。

良く考えてみると、重力計算とかではどうせ1相互作用に 16 サイクルとかか かり、その中で平方根計算は1度だけなので、殆どのサイクルで平方根演算用 のハードウェアは遊んでいてなんだかもったいないです。有効に使うには、 このユニットを複数のプロセッサで共有すればよいわけです。例えば16個で共 有するなら、ニュートン反復ではなく区分多項式近似で逆数平方根を 計算するようなユニットをつけてもハードウェアの増加は 2-3% です。 そうすると、ニュートン反復なしですむのでわずかな追加ハードウェアで相互 作用計算機については追加ハードウェアよりかなり大きな性能向上が実現でき ます。

と、これは余談です。要点は、単精度のプログラム可能ハードウェアと、相対 誤差単精度のGRAPE-6 を比べると、トランジスタ効率ではおそらく 4-8倍程度 の差は避けられない、ということです。

計算精度を落とすとこの差はもちろんさらに大きくなり、例えば相対精度 10 ビット程度にすればさらには5倍程度差が広がり、40倍前後となります。 電力当り性能は2年で2倍にしかならないので、40倍の差は10年に相当する 巨大な差です。

ちなみに、 90nm の GRAPE-DR を同じ 90nm の例えば Athlon 64 (Prescott Pentium 4 と比べるのはあまり意味がある比較とはいいがたいので)と比べると、 プロセッサチップだけでは GRAPE-DR は大体単精度で 8Gflops/W、Athlon 64 3500+ の90nm 版では TDP 67Wで同じ単精度で 8.8Gflops なので 0.132 Gflops/W となり、60倍ほど違う計算です。あまり効率のよくない GRAPE-DR に 比べると GRAPE-6 のトランジスタ効率は 8倍なので、GRAPE-6 のような単精度 での専用プロセッサでは 500倍程度、精度を落としたものなら3000倍程度同じ テクノロジーでのx86 プロセッサに比べて電力当り性能を上げることができる ということです。

32nm の Westmere-EP ではこれが E5620 でTDP80W で、2.4GHz 115.2Gflops な ので 1.44 Gflops/W と 11 倍で、 65, 45, 32 と3世代なので 1世代当り2.2 倍というところです。ここ10年間では Intel でも1世代2年なので、500倍の違 いは17年、3000倍だと22年というなんだか意味がわからないほど長い時間に対 応します。これに対して、60倍だと10年ちょっとです。まあ、この計算はちょっ と楽観的に過ぎるところがあって、その理由はホスト側の電力を勘定にいれて いないことです。専用プロセッサやアクセラレータの場合、どうしてもホスト 側があるので電力効率は半分程度になります。なので、低精度GRAPE、単精度 GRAPE、GRAPE-DR で20年、15年、8年というところになるわけです。GPU は総合 的には電力当り性能を x86 CPU の倍程度にできるので、それに比べると低精度 GRAPE、単精度GRAPE、GRAPE-DR で16年、11年、6年です。

16年の差というのは、構造化 ASIC や FPGA で 10-100 倍電力効率が悪くても 余裕でなんとかなる数字です。まあ、そういうわけで現在は低精度GRAPEを eASIC で、というのをやっているわけです。単精度になると11年なので FPGA ではだめ、構造化 ASIC で微妙、というところ、GRAPE-DR は FPGA や構造化 ASIC ではだめで、カスタム LSI でないと電力性能、価格性能比で意味がありません。

8年だと、4年遅れのテクノロジーを使ってもまだ4年先まで追いつかれないわけ で良いのですが、6年だと4年遅れだと2年しか先がありません。まあ、実際に 90nm の GRAPE-DR は 28nm の GPU とほぼ同等の電力当り性能になってます。 最大でも5年に1度しかチップを作れない研究プロジェクトで、4 年遅れのテク ノロジーで2年毎にテクノロジーが変わる GPU に比べて良い数字を5年間維持す るには GRAPE-DR に比べて3倍トランジスタ効率を上げる必要があることになり ます。GRAPE-DR のプロセッサエレメントのレイアウト図をみてみると、まあ、 3倍は無理でも倍なら簡単です。28nm で具体的な数字にしてみると、GRAPE-DR と同じくらいのチップサイズ、1/3 をeDRAM に使うとするとトランジスタ数は 8倍、演算器数は実効的に 16 倍、クロック 700MHz くらいとして倍精度 6Tflops、単精度だと12 Tflops、消費電力は 60-70W のものをチップとしては 2012 年、システムを 2014年くらいに動かす、倍精度でシステムとして 50Gflops/W、HPL で 20-30Gflops/W で、その頃の GPU がHPL で現在の4倍と して 4Gflops/W なのに比べて7倍くらいが実現可能、という計算ですね。まあ、5年 間くらいは優位を維持できるわけです。

まあ、その、 HPL で2014年に20-30Gflops/W、というのは実際上はちょっと無 理で、それは単純にホスト計算機の速度が追いつかないからです。ホスト計算 機に対して電力当り性能は5-6倍程度なので、2014年にはいいところ 10Gflops/W です。その後ホストを更新すれば最終的には 30Gflops/W 程度ま で、というのが、その、皮算用ですね。

上のは 2011 年度くらいになんか予算がつけば、の皮算用で、現実問題 としては早くても 2013 年くらいまで予算がつきそうにない、というのが問題 です。「要望」ででていた来年の次世代スーパーコンピューター関連予算はB 評価だったようです。そもそも文部科学省が要望にいれたものがあまりに巨額 に過ぎる現実的とはいいがたいものであったこともあって、文部科学省の要望 にはA評価がないのですが、 B になった以上補正予算をいれても若干の減額と なるでしょう。そうすると神戸に建設中の「京」本体にほとんどのお金がいっ て、それ以外のアプリケーション開発とかは減り、次世代の次のハードウェア 開発なんてのは全くなし、という状況がしばらくは続きそうです。
Previous ToC Next