今年の ISSCC で、Intel は昨年の IDF でも見せた 80 コアプロセッサを発表
しました。 中身をみると、ちょっとこれは何に使うつもりなんだか?という
感じの代物ですが、少し紹介してみます。
1つのコアは 120万トランジスタだそうで、かなり大きなものです。が、チッ
プサイズはそれ以上に巨大で、65nm で 275sqmm となっています。1つのコアは 3sqmm
だそうです。
1つのコアの構成は以下の通りです
-
32-bit FP Multiply-and-add unit 2 つ
-
32-word 10-port register file (32bit長?)
-
2KB data memory
-
3KB instruction memory
-
router unit (on-chip mesh network)
私から見て興味深いのは、この構成は我々の GRAPE-DR に非常に近いことです。
GRAPE-DR は
-
64-bit Multipler (throughput 0.5)
-
64-bit Adder
-
32-word 3-port register file
-
2KB data memory
となっていて、Intel 80 core と比べると
-
単精度演算ユニット2つの代わりに倍精度1つ
-
レジスタファイルのポート数ずっと少ない
-
データメモリのサイズは同じ
-
SIMD なので命令メモリはなし
-
ネットワークは階層構造なのでもっと単純
という感じになります。演算器、レジスタファイル、メモリの公称のサイズは
ほぼ同じです。 しかし、面積は違います。 GRAPE-DR 1PE は TSMC の 90nm
プロセスで 0.5sqmm です。仮に 65nm でやったら半分でしょうから、
0.25sqmmとなって Intel 80コアの1コアの 1/12 となります。
ダイの説明資料によると、面積のほぼ 1/3 が2つの FP ユニット、1/5 がルー
タなど、残りがレジスタファイルを含むメモリ関係となっています。32ビット
の演算器1つだけで GRAPE-DR の PE 全部の2倍になる計算です。
トランジスタ数は GRAPE-DR がいくつだったかの詳細は実は良く知らないので
すが、PE1つで 400K トランジスタくらいのはずです。なので、Intel プロセッ
サはやることがあんまり変わらないのにトランジスタ数で3倍あって、面積は
10 倍あることになります。
そんなものなので性能は大したことはないか?というと、しかしこれはそうで
はありません。そんなに無理に電圧を上げないでも 4-5GHz と GRAPE-DR のほ
ぼ10倍のクロックで動作し、単精度演算器の数は 1/3 なので性能はほぼ 3 倍
となっています。消費電力は、3 GHz 動作の時に GRAPE-DR とほぼ同じ 60W
で、この時には GRAPE-DR に比べて消費電力当りの演算性能が単精度ならほぼ
2倍です。
なお、現在のところ Intel プロセッサは、一体これをどうやって何に使うの
かは明らかではありません。命令メモリが 3KB で命令長が 12 バイトなので、
256 命令しかメモリに入らないのですが、チップ外の命令メモリにアクセスす
る仕掛けがあるとかそういうものでもないらしいからです。
もちろん、なにも考えていないはずはないと思うのですが、、、
また、チップ外との転送インターフェースや、転送方式の詳細も不明です。
但し、一つ興味深い特色として、演算器の方式が、加算器はアキュムレータに
なっていて一方の入力は乗算器、他方はフィードバックに固定されている、と
いうことがあります。これによりレジスタファイルのポート数を減らしていま
す。また、加算器は倍精度になっていると思われるので、やろうと思えばこれ
で倍精度の行列乗算をすることが可能です。もちろん、倍精度乗算するのには
少なくとも単精度4演算はいるので速度は落ちます。3GHz の時に 256Gflops
です。まあ、 GRAPE-DR と同じですね。
今のところ、これでなにをしたかったのか、どうやって使うつもりなのか、よ
くわからない不思議なチップです。 IDF の段階では、このチップと SRAM チッ
プを積み重ねて、大量のパッドで直接接続することである程度の規模のメモリ
を TB/s 以上のバンド幅で接続する、という話があったような気がします。そ
うなると、1チップで超並列で、メモリバンド幅もベクトルプロセッサ並、と
いう面白いものになります。それがでてくれば、 GPGPU とか日本の次世代スー
パーコンピューター計画とかには大きな影響があるでしょう。今のところはま
あ上手く動いて GRAPE-DR 並、という感じです。
なお、あまりメモリをつけないでこういう感じに2次元に簡単な PE を並べよ
う、というプロジェクトは
MIT の RAWとかテ
キサスの TRIPS とか一杯あって、あまり良い成果は聞いたことがありません。
しかし、その大きな理由はこれらが大学のプロジェクトでチップ動作速度が極
めて遅い、例えば RAW は IBM SA-27E (150nm) を使って 250MHz でしか動い
ていないし、もっと新しい TRIPS でも 500MHz であることです。なので、
Intel が作って 10倍のクロックで動くなら、結構使えるものができるのかも
しれません。
もちろん、極めて遅いのは我々の GRAPE-DR も同じで、 90nm で 500MHz でし
か動いていないのですが。 まあ、こちらは非常に無理をして 512 PE を押し
込んだので、ある程度の競争力はあると思っている、というより、基本的には
GRAPE-DR は現行の GRAPE-6 の後継なので、まあ、その役に立つことが大事で
す。そういう観点からすると、5年もたって性能が 16 倍にしかなってない、
というのがなさけないところです。で、消費電力は5倍ですから。
もちろん、完全に専用化したチップと、曲がりなりにもプログラムできるもの
では差が大きくのは当然ではありますが、3世代もテクノロジが違うんだから
もうちょっとがんばって作っても良かったかもしれません。
と、ちょっと話がずれてますね。Intel 80 core に関する限り、当面、見守っ
てあげて下さい、というところと思います。