ArmがArmv9-AアーキテクチャーのCortex-X2・Cortex-A710・Cortex-A510を発表
Arm Launches Its New Flagship Performance Armv9 Core: Cortex-X2 - WikiChip
Arm Unveils Next-Gen Armv9 Big Core: Cortex-A710 - WikiChip
Arm Unveils Next-Gen Armv9 Little Core: Cortex-A510 - WikiChip
今回の発表と前回のCortex-X1・Cortex-A78発表時との最大の違いはArmv9-A対応だろう。
現在のbig.LITTLEでは負荷の大小でコアへのスケジューリングを調整するため命令セットは共通である必要があるためArmv9-A・big.LITTLE対応のクラスターを構成するためにCortex-X2・A710・A510を同時に発表したと考えられる。これはArmv8-A発表後のCortex-A57・A53が既存のArmv7-AのCortex-A15・A7を置き換えたのに似ている。
そのためか、Cortex-X1→X2もCortex-A78→A710も性能向上幅は小さく抑えられ、ほぼ命令セットを置き換えただけで、次のパフォーマンス向上は次世代コアに持ち越されたように見える。
Armには現存の開発チームが米国(2チーム)・英国・フランス・ノルウェー・台湾の6チームが存在するが、ノルウェーはGPU・台湾はCortex-M系となっており、Cortex-X2・A710は米国Austinのチーム・Cortex-A510は英国Cambridgeのチームによるものである。他に高性能コアを手掛けるのは仏Sophia-Antipolisのチームで、AnandTechによると次期高性能コアはSophia-Antipolisチームのものという。
高性能コア=Cortex-X系が定着したことでCortex-A7x/A7xx系は高性能コアというよりも効率重視に変化してきているように見える。
big.LITTLEでbig=高性能コア・LITTLE=高効率コアということで見逃されがちだが、高性能コア=Cortex-A70系でもCortex-A73までとCortex-A75/A76以降とでは方向性が違い、A710でも少し方向性が変わってCortex-A73までの方向性に近くなっている。
もともと、Cortex-A70系は高性能コアとはいいつつも高性能スマートフォンで実装コストや電力効率が重視されておりIPCの向上には制限が付いていた。そのため、例えばSamsungのExynos MコアやNVIDIAのDenver/Carmelコアのような俗に"Super"と分類される実装が存在していた。大まかな実装コスト(トランジスターコストあるいはダイサイズ)でいうとSuper:big:LITTLE=8:4:1程度である。それがCortex-A75からは明確にIPC向上へ方向転換した。Armの説明ではCortex-A75→A76→A77でそれぞれ+35%・+20%のIPC向上となっている。これらのコアでは半導体プロセスの進化(微細化・トランジスターの高性能化)により動作周波数も向上するから実際の性能向上幅はより大きくなる(参考)。
それがCortex-A78・A710では再び効率が重視され性能向上に制限がかかるようになった。恐らくCortex-X系のIPCをどんどん引き上げるシリーズが登場したためだろう。Cortex-A77→A78では動作周波数向上分も合わせて+20%、Cortex-A78→A710ではIPCが+10%と説明されており、Cortex-A710では、TLBの強化やSVE/SVE2対応など高性能化が進む一方で、MOP Cache帯域と命令発行帯域が減少(6 MOPs/cycle→5 MOPs/cycle)している。
今回発表された中で個人的に興味深く感じたのはCortex-A510だ。基本的なスペックはCortex-A55に似ているがAdvanced SIMD/SVE/SVE2ユニットが2コアで共有される形へと変更になった。通常のスマートフォン/PC用途では整数のスカラー演算の出現頻度が高いから浮動小数点/SIMD演算ユニットが共有とされるケースはCortex-A510が初めてではなく、AMDのBulldozer~ExcavatorやSun MicrosystemsのNiagaraでも同様に2コアで共有される形だった。
ただ、個人的に気になるのは64-bit x2または128-bit x2となっている点である。SVE/SVE2の場合は論理的には最大2048-bit幅のSIMDとなる。Cortex-X2ではSIMDユニット128-bit x4(2サイクル)・Cortex-A710ではSIMDユニットが128-bit x2(4サイクル)だが、Cortex-A510のSIMDユニットが64-bit x2の場合の遅延がどうなるのか気になるところである(というか、それ以前にSVEは128-bit~2048-bitでの実装だったはずで、SIMDユニットが64-bit x2の場合SVEには対応するのだろうか?)。
Cortex-A510ではIn-order実行ながらCortex-A55の2-wideから3-wideへと変更になった。現時点でCortex-A510の内部構成は公開されていないが、想像するにIn-order実行コアとしてはかなり重厚な構成で次世代LITTLEコアはOut-of-Order実行コアになると予想する。
Cortex-A55が2-wideとは言っても実行ポートが2ポートというような意味ではなく、Armの公開した図を信じるのであればALU・Integer・FPU/SIMDが各2ユニット、Load・Storeが各1ユニットで必ず2命令発行可能だったようだ。複数の演算ユニットが実行ポートを共用しているのか演算ユニットごとに実行ポートがあるのかArmの図からは読み取れないが、命令デコード数と演算ユニット数だけで見れば2015年のハイエンドコアCortex-A72(3命令デコード・3 Integer/ALU・1 Branch・2 SIMD/NEON・2 Load/Store)相当で、In-order構成の方が不思議なほど重厚な構成である。加えて、シングルスレッド・In-orderだと同時発行できる命令数にも限界があるから、Cortex-A510後継の次世代LITTLEコアはOut-of-Order実行コアになると予想する。
ところで、2023年には32-bitのA32命令サポートが打ち切られるそうだ。もっとも、32-bitが必要と考えられる純粋な組込コアのCortex-R系/Cortex-M系は32-bitサポートが継続されるだろうから、問題無さそうに思える。
米エネルギー省バークレー国立研究所NERSC「Perlmutter」
Berkeley Lab Debuts Perlmutter, World’s Fastest AI Supercomputer - HPC Wire
4EFLOPSのAI性能を発揮するNVIDIA A100搭載スパコン「Perlmutter」- PC Watch
米エネルギー省のHPCが2020~2023年に続々と登場するが、その第1弾が2020年末から構築の始まっていたPerlmutterである。~2023年に登場する米エネルギー省の4台のHPCとしては最後のPre-Exascale HPCとなる。以下は2023年までに導入される4台に、比較のため2018年に導入されたSummit/Sierraを加えた表である。
※もっとも、Summit/Sierraなどは途中で公開されたスペックがそのままだったり、導入後にアップグレードしたりで資料によって数字が違い計算が合わない。例えばORNL SummitなどはORNLサイトには「たった4,608ノード」と記載があるが、Top500の記載(SMT8の論理コアを含め2,414,592コア)という記載から逆算すると12,576ノードになる
Site | System | Year | Contractor | Base | Nodes | CPU | Cores | Accelerators | Memory | Interconnect | Bandwidth | Topology | HP LINPACK | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DOE LLNL | ATS-4 | El Capitan | 2023 | Cray | Cray Shasta | AMD Epyc | AMD Instinct | Cray Slingshot | > 1.5 Exa Flops | |||||
DOE ORNL | OLCF-5 | Frontier | 2022 | Cray/AMD | Cray Shasta | AMD Epyc | AMD Instinct | Cray Slingshot | 1.5 Exa Flops | |||||
DOE Argonne | Aurora (A21) | 2021 | Intel/Cray | Cray Shasta | Intel Xeon | Intel Xe | Cray Slingshot | 1 Exa Flops | ||||||
DOE LBNL | NERSC-9 | Perlmutter | 2021 | Cray/NVIDIA/AMD | Cray Shasta | AMD Epyc | NVIDIA A100 CPU-GPU Nodes |
Cray Slingshot | 200 Gbps | Dragonfly | Pre-Exascale | |||
DOE ORNL | OLCF-4 | Summit | 2018 | IBM/NVIDIA | IBM PS AC922 | 12,576 | IBM POWER 9 25,152 CPUs |
301,824 | NVIDIA Volta V100 75,456 GPUs |
2,801,664 GB | Dual-rail EDR InfiniBand | 100 Gbps | Fat-tree | 148,600.0 TFLOPS |
DOE LLNL | ATS-2 | Sierra | 2018 | IBM/NVIDIA | IBM PS AC922 | 7,920 | IBM POWER 9 15,840 CPUs |
190,080 | NVIDIA Volta V100 | 1,382,400 GB | Dual-rail EDR InfiniBand | 100 Gbps | Fat-tree | 94,640.0 TFLOPS |
PerlmutterはCPU-GPUノードとCPU Onlyノードの二種類のノードで構成される点がユニークで、今回稼働開始したのはCPU-GPUノード(1,536 Nodes = 128 Nodes/Cabinet x 12 Cabinets)のみ、残りのCPU Only Node 12 Cabinetsは今年半ばに搬入予定である。
詳細はPerlmutterのスペックシートに詳しいが、1ノードあたりAMD "Zen 3" Epyc 7763 2基に256 GBのメモリーとNVIDIA "Ampere" A100 GPU 4基が接続される構成となっており、各ノードはCray Slingshotで接続される。1536ノードで計196,608CPUコア・393,216 GBのメモリー・6,159 GPUで構成される(※1,536 Nodesなら6,144 GPUのはずである)。
CPU Onlyノードが導入されても約3,000ノードで規模的にはORNL「Summit」には及ばず、科学演算ではFP32/FP64演算性能も理研「富岳」やORNL「Summit」には及ばないが、A100を搭載していることもありMLワークロード/Tensor演算に強く、PC Watchにある「FP16/FP32混合精度演算によるAI処理において約4EFLOPS(エクサフロップス)を発揮でき、FP64でも約120PFLOPSの演算性能」とはいずれもA100に内蔵されているTensorCoreによる演算性能である。通常の科学演算ではFP32で約120 PFLOPS・FP64で約60 PFLOPSとなる。PC Watchの記事では「現時点でTOP500の5位に相当する」とあるが、TOP500の5位(63.46 PFLOPS)・6位(61.44 PFLOPS)が理論値ではなく実測値であることを考えると5位が妥当なのかよく分からない。
※コメント投稿者のブログIDはブログ作成者のみに通知されます