スーパーコンピューター「富岳」を市販のスマートフォンでつくる。

コロナウイルスの感染経路というか、飛沫の拡散シミュレーションを計算したことで有名なスーパーコンピュータ「富岳」。


「富岳」のCPUである「A64FX」を開発した富士通の公式ホームページを見ると、Armアーキテクチャーを採用していることがわかる。

Armアーキテクチャーというのは、スマートフォンに積極的に採用されている技術であり、裏を返せば、市販されているスマートフォンの中に、「富岳」の兄弟が存在するかも知れない、と思った次第です。

「富岳」は世界を相手に戦っているコンピュータであるので、まさかこの期に及んで「おにいちゃん」になろうなんて気持ちは少しもないのですが、もしかしたら「おとうと」気分を味わうことが出来るのかな。

以上のような経緯から、市販されているスマートフォンの中から、「富岳」の兄弟を真面目に探してみよう、という note です。

「富岳」は、Armアーキテクチャーを採用している

A64FXは,実績のある富士通の高性能なマイクロアーキテクチャーを受け継ぎながら,ソフトウェア開発環境を向上させるために,Armアーキテクチャーを採用する。更に,Arm社のリードパートナーとしてSVE(Scalable Vector Extension)の仕様策定に取り組み,その成果を採用した。

高性能・高密度実装・低消費電力を実現するスーパーコンピュータ「富岳」のCPU A64FX



スーパーコンピュータ「富岳」に採用された高性能プロセッサ― A64FX について調査する

これには、リーフレットが存在し、以下のURLから閲覧できる。

https://www.fujitsu.com/downloads/JP/jsuper/a64fx/a64fx_datasheet_jp.pdf


そのなかで、とても大切なのがここです。

命令セットアーキテクチャー : Armv8.2-A + SVE

FUJITSU Processor A64FX
スーパーコンピュータ「富岳」に採用された高性能プロセッサ―


Armv8.2-A に該当するARMプロセッサを調査する

SVE というのがよく分からないので、今のところこのままにしておく。
Armv8.2-A というキーワードに該当するARMプロセッサは以下の通り。

ARM Cortex-A75
ARM Cortex-A76
ARM Cortex-A77
ARM Cortex-A78

ここからさらに、以下の2つの条件を考慮する。

製造プロセスルール: 7nm

命令デコード:4命令/サイクル


最終的に残ったArmアーキテクチャーのプロセッサは、以下の通り。

ARM Cortex-A76
・アーキテクチャー:Armv8.2-A
・製造プロセスルール: 7nm
・命令デコード:4命令/サイクル

SVE というのがよく分からないので、今のところこのままにしておくけれども、Armv8.2-A という条件に合致している、ARM Cortex-A76 というARM プロセッサは、高性能プロセッサ― 「A64FX」の兄弟である、と考えることが出来る。

次に、ARM Cortex-A76 を採用しているスマートフォン を探してみる

「SONY Xperia 1」、
「SONY Xperia 5」、
「Google Pixel 4」、
「Galaxy S10」。


候補のひとつ「Google Pixel 4」を unveil してみる

Snapdragon 855
・Cortex-A76 (4コア) + Cortex-A55 (4コア)

「Google Pixel 4」が1台あると、ARM Cortex-A76 が4つ、入手できることになります。


「富岳」を再現するために必要なスマートフォンの所要量を計算してみる。


準備1:はじめに高性能プロセッサ― 「A64FX」を再現するために必要なスマートフォンの所要量を計算してみる。

コア数
・演算コア     : 48、
・アシスタントコア : 2もしくは4*

FUJITSU Processor A64FX
スーパーコンピュータ「富岳」に採用された高性能プロセッサ―

SVE というのがよく分からないので、今のところこのままにしておく。
演算コア、ARM Cortex-A76 である、と言う仮説で進めてきた。

スマートフォンには、4個の ARM Cortex-A76 が搭載されている。

「A64FX」を再現するために必要なスマートフォンの所要量
・演算コア48個に相当するのは、12台のスマートフォンである。

準備2:「富岳」は、高性能プロセッサ― 「A64FX」を再現するために必要なスマートフォンの所要量を計算してみる。

A64FX(図-1)は,スーパーコンピュータ「富岳」(以下,「富岳」)のプロセッサーとして開発された。「富岳」は158,976個のプロセッサーを搭載する[1]。

高性能・高密度実装・低消費電力を実現するスーパーコンピュータ「富岳」のCPU A64FX

計算式:

高性能プロセッサ― 「A64FX」 × 158,976個

結果

12台のスマートフォン × 158,976台


最後にオチをどうぞ:SVE拡張機能は、4倍のハンディ・キャップ?

SVE というのがよく分からないので、今のいままで、そのままにしておいたけれども、以下のような資料が見つかった。

さて、この中で要となるのはやはりSVEである。SVE、正式名称はScalable Vector Lengthというベクトル拡張命令、要するにSIMDのことであるが、おもしろいのは最小128bit~最大2048bit幅まで、チップ設計者が128bit単位でSIMDの幅を自由に選べるようになっている。

世界一のスパコン「富岳」が採用したA64FXは、ARMらしくないARMプロセッサー

A64FXの場合には512bitを選択したわけだが、SIMDの幅を広げるほど1サイクルで処理できる計算量が増える

世界一のスパコン「富岳」が採用したA64FXは、ARMらしくないARMプロセッサー

A64FXの場合には、選択肢の中から512bitを選んでいることが分かる。
ARM Cortex-A76 の場合、128bit固定である。

この差は4倍である。

ここで、よく分からないんだけれども、SIMDハンデを4倍と仮定する

計算式:SIMDのハンデを考慮した場合

高性能プロセッサ― 「A64FX」 
×  SIMDのハンデ 4
×  158,976個

結果:SIMDのハンデを考慮した場合

12台のスマートフォン × 4  ×  158,976台


最後に:あくまでもお遊びとして受け止めていただけると嬉しいです。

メモリの最適化、など、考慮していませんのであしからず、です。
そもそも、ARM Cortex-A76 、で良いのかも、分かりませんし。

最後までお付き合いいただき、ありがとうございました。


素敵な読者を募集して スキしてくださる方、フォローしていただける方。 お待ちしています。