Intelビビってる 世界最速スパコン神威太湖之光 

2016年6月　スパコンの世界ランキングTOP500で
突如No.1に躍り出た神威 太湖之光(Sunway Tianhu Light)

中国勢を除けばトップとなる　**Titan - Cray XK7 , Opteron 6274 16C 2.200GHz, Cray Gemini interconnect, NVIDIA K20x**　に対して４倍の絶対性能を示した。

絶対性能計測を指標とする**TOP500**ベンチに対する批判の声を反映して、電力効率ランキング **Green500** がある。
しかし、その地球に優しいスパコン・ランキング**Green500**でも第3位。

本当に驚異的なのはスパコンとしての性能ではなく、枯れたテクノロジーの水平思考とその組み合わせだけで構築した独自アーキテクチャだった。

枯れたCPU単品のスペックから見ていこう

![kamui3.002.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/4b749306-2c39-26b2-ff49-32f5e68347f5.jpeg)

- クロックは1.45GHzと、スマホ未満の低クロック。

- プロセスも40nmで2世代以上前の旧型。28nmでもなければ、FinFET 14nm でもない。

- メモリもDDR3-2133で、GDDR5どころかDDR4でもない完全な旧世代

- チップ間は普通にPCIe3.0で接続

- チップ単位でJTAGデバッグ可能

一部のメディアでDecAlphaベースと報道されているが、これは誤報。
開発元はSoCと主張しており確かにSoCだが、ペリフェラルはごく普通のI/Fで周りを必要最低限、固めているに過ぎない。

コアは２種類。

- マスターとなるMPE
- スレーブとなるCPE x64

MPEはCPE x64 を取り纏める管理職みたいなものだ。

![kamui3.006.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/dbaaaa59-d53b-2968-7d24-76fa414339f5.jpeg)

![kamui3.007.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/e5b48fbb-6da9-2940-fe23-6366e79e40d7.jpeg)

![kamui3.008.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/bb64cc18-5629-3435-fe28-dba77713bf05.jpeg)

I-CACHEは16KB搭載している。
プログラムコードやDATAは外付けDDR3(8GB)にある。
C/C++で8GBアクセス可能なアプリを何も考えずに書ける。

そしてScratchPadを64kb搭載。

古くはFairchildF8が64byteのScratchPadを搭載していたが、PlayStation1に搭載していた1kbのScratchPad、
あるいはPlayStation2に搭載していた16kbのScratchPadを連想するエンジニアも多いかもしれない。

PlayStation3になって “local-store” と呼称されるようになったが本質的にはScratchPadに他ならない。

ScratchPadとはALUやREG付近に配置されたFF(SRAM)の塊に過ぎない。S/Wエンジニアが完全に制御できる反面、データキャッシュのように自動制御できないというデメリットも併せ持つ。

ところがSW26010のCPEではハイブリッドだ。PlayStationのように完全なScartchPadとして利用できるモードとは別に、データキャッシュエミュレートモードを設定することも可能だ。ただし、SW26010の開発者は低速のため推奨はしていない。

![kamui3.011.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/ef4c3a9d-302e-52ba-376d-638f79112af3.jpeg)

![kamui3.012.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/7885dc20-cf0a-3b71-c472-cefe6065265c.jpeg)

![kamui3.013.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/7783fcd0-d052-3a67-669c-b937a1717277.jpeg)

![kamui3.014.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/6022f0e7-10cc-5b91-7826-48dfd2d52877.jpeg)

メモリはごく普通のDDR3 8GB が内蔵メモリコントローラMCを通して接続されている。

![kamui3.015.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/e813117e-74d0-84c6-8cbc-bbaf6daac722.jpeg)

![kamui3.016.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/11023dec-367f-6558-ca64-a6b7d9c2e317.jpeg)

これだけのコアをすし詰めにして、やっと１チップ

![kamui3.017.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/0c7e10d1-fc74-71c3-942b-e248857a389d.jpeg)

- SIMDのCPEが 4x64=256コア

- 取り纏め役となる管理職MPEが4コア

- １チップに260コアのmany−coreアーキテクチャ

![kamui3.019.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/7b542894-7cf8-f5af-41a6-5d38713542f9.jpeg)

あとは、単純に階層化を繰り返してスパコンを構築するだけ。
![kamui3.020.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/49f07b78-1674-392e-7ee5-5e14ee76bdaf.jpeg)

![kamui3.021.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/cf3ae38d-896d-82c7-d8df-68abb58b2d3a.jpeg)

![kamui3.022.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/4ba8d57e-4a5b-ab37-2591-6cb49b5e1c5d.jpeg)
![kamui3.023.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/0e9e3c2d-9b33-ee88-1d38-a5dac44abb35.jpeg)


![kamui3.024.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/cb96764e-dcf0-be41-0c85-36aa8d882297.jpeg)

![kamui3.025.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/49e2d84c-da83-cfa6-393a-6cb8e29d801d.jpeg)

![kamui3.026.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/410ff00a-9d2f-5b7d-dfd5-e189f3c7fa08.jpeg)

![kamui3.027.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/c74a60b9-c4dc-4e45-3ebd-af3aae2e10cf.jpeg)

![kamui3.028.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/57ef3c72-455a-34ca-5470-df2a11e72439.jpeg)

外部DDR3 8GB に実行バイナリを置いた上で、I-CACHE 16KB存在するので、パフォーマンスのことを考えなければプログラムサイズを気にすることなく普通のC/C++でアプリを記述できる。

しかしScarachPadを効率的に使おうとするとOpenACCの存在は欠かせない。

ScrachPad <-> ScratchPad 間のDMA転送が存在するか否かは不明だが、おそらく存在すると思われる。

最後に情報を惜しみなく提示して頂いた
神威太湖之光　/ SW26010 を開発者、関係者の方々を紹介。

![kamui3.030.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/ec2bb1ae-3a17-d53b-96ed-e2c4a2c703dc.jpeg)

![kamui3.031.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/1666f8b1-4893-2b2a-8d66-53831cfb3095.jpeg)

![kamui3.032.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/0d198cb4-c920-1276-ba5e-3cebc7aea69f.jpeg)

![kamui3.033.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/106dccc1-4091-6219-357c-d8a637a6cfb4.jpeg)

![kamui3.034.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/9eee90b7-4a12-852f-281e-b309ce3b4601.jpeg)

![kamui3.035.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/c79aaa63-b605-e48d-d110-72a4793d8664.jpeg)

![kamui3.036.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/facd6788-82d7-80a6-5e4e-4ee951005f69.jpeg)

![kamui3.037.jpeg](https://qiita-image-store.s3.amazonaws.com/0/131316/01086df3-d325-3128-86a3-457a4e68aa39.jpeg)


神威太湖之光 の続報に関して、乞うご期待。

2016/7/3 追記
nVidiaもビビってる 世界最速スパコン神威太湖之光
http://qiita.com/homhom44/items/4b03123920f4788dfca4