見出し画像

いわゆる「スパコン」の中ってどんなだった?①スパコンにまつわる一般知識

こんにちはー。入社6年目、最近は何もしてないのに太っていくはっしーです。

世間一般で言われている「スパコン」──皆さんは扱ったことがあるでしょうか?
システムエンジニアの方もそうではない方も、日常業務の中では扱うことが中々ないのではないかと思います。
「計算がものすごく速いデッカイ計算機でしょ?」
これぐらいの理解ではないでしょうか。
私もそんな感じでした。
そんな感じだったんですが、あるプロジェクトでスパコンを使用する機会があり、「へー、スパコンの中ってこうなってるのか」と思ったので、共有したいと思いました。

全4回に渡ってご紹介します。
第1回の今回は、スパコンにまつわる一般知識をご紹介します。
といっても最初なので豆知識程度です。

  1. スパコンにまつわる一般知識  👈ここ!

  2. ABCIにまつわる一般知識

  3. ABCIでSingularityを利用した事例

  4. ABCIでGPUを利用した事例


そもそもスパコンって何?

一般に「スパコン」とはどのような定義がなされるものなのでしょうか。
例えば、理化学研究所の定義では以下のようにあります。

スパコンとは、「普通のコンピュータよりはるかに計算が速いコンピュータ」のことです。スパコンの計算速度は、家庭用パソコンの数百倍から数十万倍もあります。

「スパコンとは、計算速度が○○以上のコンピュータのこと」とはっきりいえないのは、スパコンがどんどん進歩しつづけているからです。

https://www.r-ccs.riken.jp/intro-hpc/hellosc-fugaku/01.html

テキトーに書いたのですが、まさかの前掲の理解で概ね合っているようです。

スパコンの性能指標

いわゆる「スパコン」という呼び名は、スペックによる明確な定義が存在していない、慣例的に使われているものであるようです。

一方で、スパコン(ひいては一般的なコンピュータ)の性能を表す具体的な指標としては、FLOPS(Floating-point Operations Per Second, フロップス)と呼ばれるものが存在しています。

FLoating point number Operations Per Secondの名称が示す通り、1秒間に浮動小数点演算が何回できるかの指標値ひいては性能値の事を指す。

https://ja.wikipedia.org/wiki/FLOPS

FLOPSは、P(ペタ), E(エクサ)などといった単位と共に表記されることがあります。「10PFLOPS」と書いてあったら、1秒間に浮動小数点演算を10*10^15回計算できるということですね。

また、コンピュータの性能指標としては、LINPACKベンチマーク(リンパック・ベンチマーク)というものも存在しています。

そもそもコンピュータにおいて計算に使う数値は、「浮動小数点」という形式でメモリーに格納されています。浮動小数点には、計算できる精度によって、「倍精度」、「単精度」および「半精度」があります。それぞれの精度で使用される数値のビット数は、倍精度が64ビット、単精度が32ビット、半精度が16ビットです。LINPACKは倍精度を使って演算処理するプログラムで、今回のランキングでの「富岳」のLINPACK性能は、倍精度の演算で415.5 PFLOPS(ペタフロップス)※1でした。

https://www.r-ccs.riken.jp/highlights/pickup1/

まぁ、これだけ聞かされても「へー」「それで?」って感じだと思います。でも単語を知っているだけで、上のような小難しい説明も多少読みやすくなるのではないでしょうか。

今回はスパコンの一般知識(というより豆知識)ということで、以上になります。
では、次回でお会いしましょう🙇‍♂️