Predicationで半自動ベクトル化も可能
さらに独自の4オペランドFMAを実装
Predicationは、Load/Storeの際にも利用できる。Load/Store命令の際に、データを並べ替えながらのロードが可能(インデックスレジスターで指定)だが、これにPredicationを加えて「そもそもLoad/Storeをする/しない」の制御も可能になっている。このPredication付きロードは複数のモードがサポートされている。

ややわかりにくいが、これはZ0.Dというレジスターに、X0というアドレスから始まるメモリーの値をロードする処理で、ただし並び順をZ1.Dというインデックスでして、さらにP0/zのPredicationでロードする/しないを設定している
こうしたPredicationの指定そのものは珍しくないというか、SIMD演算では似たものはいくつかあるが、通常は個々の命令に対する拡張として実装されているのに対し、A64FXではベクトルレジスターに対する操作の一般的な手法としてPredicationが用意されているのが大きな違いである。
もっともこれは(プロセッサー内部の処理からすると)面倒な作業になるわけで、専用処理ユニットとパイプラインが追加されたのも無理ないところである。
実際、ここまでの細かな操作がサポートされていないSPARC64 XIfxには、Predicationユニットが搭載されていない。
そしてPredicationと先のFirst-fault loadを組み合わせると、とてもベクトル化できそうにないコードですら、SVEでぶん回せることになる。

これはわかりにくいが、下の4命令で16要素まとめて判別している。また左のスカラーコードは、A[N]が十分大きければいずれはページフォルトを起こすはずで、その振る舞いはFirst-fault loadで再現できることになる
A[N]はintなので32bitとすれば16倍、もしこれをINT8で実装したら64倍の速度でwhileループを回せるわけだ。さらには、Predicationを使っての半自動ベクトル化も可能としている。
SVEに絡んだ独自の実装が、4オペランドFMAである。D=A×B+Cという一般的なFMA(Fused Multiply-Add)処理の場合、A/B/C/Dの4つのオペランドが必要になる。ただARM v8ではこの4オペランド命令をサポートしていない。
そこで、通常は上のソースにあるように2命令での処理になるわけだが、A64FXではこれを内部的に処理して、1つのFMA4命令としてハンドリングすることになる。これにより、フロントエンドでは2命令として認識されるものの、バックエンドでは1命令で処理されることになり、実質的な性能向上につながるわけだ。
消費電力を下げるために
デコードと実行ユニットを制限できる
性能向上の一方で、省電力の仕組みもやや独特である。チップ単位のEnergy monitorと、コア単位のEnergy analyzerを併用し、細かく消費電力を監視しながら電圧/動作周波数を制御するというあたりまでは一般的であるが、Power knobの実装はあまり見かけたことがない。
要するに、デコードを絞るとともに、利用する実行ユニットも制限することで消費電力を下げるという仕組みである。最小に絞ると、デコードは2命令/サイクルになるし、EXB/FLBのユニットは休止になるため、実質5命令のスーパースカラー/アウト・オブ・オーダー構成になる。
ついでにHBM2のバンド幅も10%単位で絞ることが可能になる(もちろん動作周波数も下げられる)仕組みだ。

この連載の記事
-
第814回
PC
インテルがチップレット接続の標準化を画策、小さなチップレットを多数つなげて性能向上を目指す インテル CPUロードマップ -
第813回
PC
Granite Rapid-DことXeon 6 SoCを12製品発表、HCCとXCCの2種類が存在する インテル CPUロードマップ -
第812回
PC
2倍の帯域をほぼ同等の電力で実現するTSMCのHPC向け次世代SoIC IEDM 2024レポート -
第811回
PC
Panther Lakeを2025年後半、Nova Lakeを2026年に投入 インテル CPUロードマップ -
第810回
PC
2nmプロセスのN2がTSMCで今年量産開始 IEDM 2024レポート -
第809回
PC
銅配線をルテニウム配線に変えると抵抗を25%削減できる IEDM 2024レポート -
第808回
PC
酸化ハフニウム(HfO2)でフィンをカバーすると性能が改善、TMD半導体の実現に近づく IEDM 2024レポート -
第807回
PC
Core Ultra 200H/U/Sをあえて組み込み向けに投入するのはあの強敵に対抗するため インテル CPUロードマップ -
第806回
PC
トランジスタ最先端! RibbonFETに最適なゲート長とフィン厚が判明 IEDM 2024レポート -
第805回
PC
1万5000以上のチップレットを数分で構築する新技法SLTは従来比で100倍以上早い! IEDM 2024レポート -
第804回
PC
AI向けシステムの課題は電力とメモリーの膨大な消費量 IEDM 2024レポート - この連載の一覧へ