エンジニアの知らないスーパーコンピュータの世界（スパコンランキング付き）

![暁光.jpg](https://qiita-image-store.s3.amazonaws.com/0/188222/2fcc008a-91a9-c38e-28d9-51dca4fdfed6.jpeg)

# はじめに
私は院ではスパコンを扱う関係の研究をしていたので、スパコン関係の知識はある程度持っているのですが、意外とアプリ開発をやってる他の方とかは普段触れないこともあり、詳しいことを知らない人も多いようだったので簡単に紹介記事をまとめました。

# スーパーコンピュータ（supercomputer, スパコン）の基本
## 定性的な紹介
スーパーコンピュータ（以後スパコン）には明確な定義というものは基本ありません。
現在時点においてスパコンとは「とてつもなく速い計算ができるコンピュータ」とイメージしてもらって構いません。
経験則で言えば、今売られている最新のPCよりも1000倍以上メモリが大容量で、1000倍以上高速に動作するものがスパコンと言えるでしょう。

## スパコンの利用用途
スパコンは普段触れる機会がないと思いますが、その利用用途は多岐に渡ります。以下にいくつかの例を挙げますが、これ以外にも様々な用途で活用されています。スパコン大事！

* [自動車の衝突シミュレーション](http://www.fujitsu.com/jp/about/businesspolicy/tech/k/why/simulation/index.html)
* [がん治療薬のシミュレーション](http://www.fujitsu.com/jp/about/businesspolicy/tech/k/why/simulation/01/index.html)
* [脳神経細胞のシミュレーション](http://www.riken.jp/pr/topics/2013/20130802_2/)

## 用語の話
スパコンを語るに当たってよく出てくる用語があるのでいくつか説明しておきます。

### FLOPS
[FLOPS](https://www.weblio.jp/content/FLOPS)（フロップス, Floating-point Operations Per Second）とは、コンピュータの性能における指標の１つで、1秒間に浮動小数点演算が何回できるかという値のことです。もちろんこれにも理論値と実測値があり、基本通常のPCでは理論値と実測値が近い値になります。しかしスパコンではどのように運用するかで実測値が異なることが多々あり、ベンチマークでの実測値が表記されることが多いです。

### HPC
[HPC](https://www.weblio.jp/content/HPC)(High-Performance Computing, 高性能計算)とは、もの凄く計算が大変な計算処理のことです。スパコンはこのHPCを行うためにあるというもので、高性能計算を行うコンピュータのことをややこしいですがHigh-Performance Computer(HPC)と言います。HPCはスパコンと同じ意味で使われることもあります。

### 単位
普通にPCでよく見る単位はKByteやGByteなどのキロ、ギガあたりだと思いますが、スパコンで現在よく使われる単位はT（テラ）、P（ペタ）、E（エクサ）あたりの単位になります。テラは10<sup>12</sup>、ペタは10<sup>15</sup>、エクサは10<sup>18</sup>を意味します。ByteやFLOPSの前につくことが多いです。凄まじい計算速度、メモリ容量ですよね。

### LINPACK
[LINPACK](http://e-words.jp/w/LINPACK.html)は連立一次方程式などを解いたりする為の数値計算ライブラリのことです。このライブラリは科学技術計算の分野ではよく利用されるライブラリで、このライブラリを使ってスパコンの性能評価を行ったりします。このライブラリを使用して方程式を解き、その際の計算速度の実測値を測るという形でスパコンの評価は行われます。この評価方法のことをLINPACKベンチマークと言います。

## 構造の話
スパコンの構造は基本的にはPCとさほど大きな違いはありません。
要素要素は全て最新の高機能な技術がふんだんに盛り込まれてはいるものの、一般的なPCと同様にプロセッサ、メモリ、ストレージ、ネットワーク等のハードウェアと、その上で動くオペレーティングシステム（OS）やアプリケーションなどのソフトウェアから構成されるという観点は同じです。
大きく一般のPCと違う点と言えば、CPUの数にあると言えるでしょう。
よく皆さんも名前を知っているスパコン「京」では8万個を超えるCPUを搭載しています。
この8万個を超えるCPUを連携させて動作させることで超高速な計算を実現しています。

# スパコンランキング(2017年11月版）
スパコンのランキングのことを[TOP500](https://ja.wikipedia.org/wiki/TOP500)と言います。
TOP500のサイトは[コチラ（Home | TOP500 Supercomputer Sites）](https://www.top500.org/)。
毎年2回更新されていて、現在の最新が2017年11月のものになりますので、それを紹介します。

| 順位 | 名前 | 国、年 | Rmax | RPeak | 消費電力[kW] |
|:-:|:-:|:-:|:-:|:-:|:-:|
| 1 | 神威・太湖之光<br>(Sunway TaihuLight) | ![china.png](https://qiita-image-store.s3.amazonaws.com/0/188222/2e06b683-fdf3-bc64-93a6-9a294d8d3fff.png) 中国, 2016 | 93,014.6 | 125,435.9 | 15,371 |
| 2 | 天河2号<br>(Tianhe-2, Milkyway-2) | ![china.png](https://qiita-image-store.s3.amazonaws.com/0/188222/2e06b683-fdf3-bc64-93a6-9a294d8d3fff.png) 中国, 2013 | 33,862.7 | 54,902.4 | 17,808 |
| 3 | Piz Daint | ![schweizerische.png](https://qiita-image-store.s3.amazonaws.com/0/188222/95154ac5-dd90-d9ae-c406-7edc4ad2516d.png) スイス, 2016 | 19,590.0 | 25,326.3 | 2,272 |
| 4 | 暁光(Gyoukou)  | ![jp.png](https://qiita-image-store.s3.amazonaws.com/0/188222/86a09080-7988-d637-4738-116fbee2e2b4.png) 日本, 2017 | 19,135.8 | 28,192.0 | 1,350 |
| 5 | タイタン | ![am.png](https://qiita-image-store.s3.amazonaws.com/0/188222/593481bb-53a5-437b-797b-d1798d0ee720.png) アメリカ合衆国, 2012 | 17,590.0 | 27,112.5 | 8,209 |
| 6 | セコイア | ![am.png](https://qiita-image-store.s3.amazonaws.com/0/188222/593481bb-53a5-437b-797b-d1798d0ee720.png) アメリカ合衆国, 2013 | 17,173.2 | 20,132.7 | 7,890 |
| 7 | Trinity | ![am.png](https://qiita-image-store.s3.amazonaws.com/0/188222/593481bb-53a5-437b-797b-d1798d0ee720.png) アメリカ合衆国, 2015 | 14,137.3 | 43,902.6 | 3,844 |
| 8 | Cori | ![am.png](https://qiita-image-store.s3.amazonaws.com/0/188222/593481bb-53a5-437b-797b-d1798d0ee720.png) アメリカ合衆国, 2016 | 14,014.7 | 27,880.7 | 3,939 |
| 9 | Oakforest-PACS | ![jp.png](https://qiita-image-store.s3.amazonaws.com/0/188222/86a09080-7988-d637-4738-116fbee2e2b4.png) 日本, 2016 | 13,554.6 | 24,913.5 | 2,719 |
| 10 | 京 | ![jp.png](https://qiita-image-store.s3.amazonaws.com/0/188222/86a09080-7988-d637-4738-116fbee2e2b4.png)日本, 2011 | 10,510.0 | 11,280.4 | 12,660 |
※ Rmax: 実効性能値 (単位は TFlops)
※ Rpeak: 理論性能値 (単位は TFlops)
引用元：[November 2017 | TOP500 Supercomputer Sites](https://www.top500.org/lists/2017/11/)
参考：[Top500 のリストの見方](http://kawa0810.hateblo.jp/entry/20120630/1341072417)

神威・太湖之光（しんい・たいこのひかり）って厨二の心をくすぐるカッコイイ名前で個人的には好きです。

ちなみに、このランキングはHPLと呼ばれるずっと行われてるLINPACKベンチマークによる計算速度のランキングになります。
消費電力を見るとわかるように、新しいスパコンの方が消費電力が低いわりに計算能力が高い傾向にあります。
こうした対消費電力の観点で効率の良いスパコンランキングというのもあり、そちらは[Green500](https://ja.wikipedia.org/wiki/Green500)と呼びます。
HPLで第4位だった暁光はこのGreen500でも第5位と素晴らしい成績となっています。
日本はこのGreen500で大体良い成績を残しているので、こういう面では日本はやはり素晴らしいなと感じます。（日本勢は上位10位のうち7システムを占め、TOP3は全て日本のスパコンになっています）

#　スパコンって一般人でも使えるの？
実は、スパコンは別に大企業とか国じゃなくても普通に利用可能だったりします。
もちろん「遊びたいから」みたいな理由ではダメかもしれませんが、こういう課題に取り組むために少し利用したい、というような申請は可能です。
有名なスパコン「京」でも[「京」利用区分](http://www.aics.riken.jp/jp/k/qualification.html)にて利用形態の中に「一般課題」や「若手人材育成課題」というものがあり、個人での利用申請が可能となっています。
ぜひ興味のある方は申請してみることをお勧めします。

![スクリーンショット 2018-03-11 14.55.23.png](https://qiita-image-store.s3.amazonaws.com/0/188222/f53a4e27-2f3c-29c9-7a04-60caa749421f.png)

# リンク
* [FUJITSU：スーパーコンピュータ「京」](http://www.fujitsu.com/jp/about/businesspolicy/tech/k/)
* [FUJITSU：3分でわかるスパコン](http://www.fujitsu.com/jp/about/businesspolicy/tech/k/column/)
* [Home | TOP500 Supercomputer Sites](https://www.top500.org/)
* [スパコン「TOP500」、中国がランクイン数トップに--HPCG指標では「京」が1位](https://japan.cnet.com/article/35110344/)
    * HPCG(High-Performance Conjugate Gradient）は新しいスパコンランキング。スパコンが処理できるタスクをより正確に反映する為の新しいベンチマークを採用したもの
* [PEZYのスパコン、20ペタFLOPS達成　世界3位相当](http://www.itmedia.co.jp/news/articles/1712/13/news124.html)