> [!abstract] 概要(abstract の日本語訳)
> 現代のスーパーコンピュータは、科学計算と機械学習の高まる需要に応えるため大量のグラフィックス処理装置(GPU)を搭載している。しかし、GPU は同一型番であっても性能変動を示し、資源の未活用や実行時間の長期化を招く。本研究では、GEMM と STREAM のマイクロベンチマーク、および 7 個の実世界アプリケーションを用いて、2 つのスーパーコンピューティングシステム(TACC Vista(GH200)と NERSC Perlmutter(A100))にまたがる NVIDIA A100 GPU と GH200 スーパーチップの性能変動を特性化する研究を実施した。結果は、GEMM の性能変動が 0.1% から 8.8% の範囲であることを明らかにしたが、外れ値によって偏差はさらに大きく押し上げられうる。科学アプリケーションでは、Vista 上で変動は 1.0% から 12.2% の範囲である。単一 GPU での GPT 4.8B と Llama 3B 訓練の変動はそれぞれ 10.4% と 8.9% である。さらに 8 個の GH200 を用いて 3D 並列構成で GPT 19B モデルを訓練することで本研究を拡張し、最大 3.6% のスループット変動と、最悪ケースで 8.5% の減速を観測した。GPU 種別・計算パス・データ精度・アプリケーションにまたがって変動を比較することで、Tensor Cores と CUDA Cores 上の FP64 を使うアプリケーションが他のアプリケーションより高い変動を示すことを観測した。スーパーコンピュータの利用者は、観測された変動を性能問題の診断と実行効率の向上に活用できる。計算センターは、個々のアプリケーション性能を犠牲にすることなくマシン使用率を高めるため、変動を考慮したスケジューリング手法を設計できる。
## 論文情報
- タイトル: Quantifying Performance Variability in GPU Clusters
- 著者: Michael Mogilevsky・Hazem Zaky([[Rutgers University]]、同等貢献)、Yu Sun・[[Lishan Yang]]([[George Mason University]])、[[Mingkai Zheng]]・[[Zhao Zhang]]([[Rutgers University]]、Corresponding author: Zhao Zhang)
- 媒体: IEEE Transactions on Parallel and Distributed Systems (TPDS), Vol. 37, No. 6, June 2026
- DOI: 10.1109/TPDS.2026.3684387。Received 2026-10-02(投稿), accepted 2026-04-11, published 2026-04-15(早期公開), current version 2026-04-30
- 資金提供: NSF Grant CSR-2401244、NERSC award ASCR-ERCAP0035610
- 計算資源提供: TACC(Texas Advanced Computing Center)、NERSC(National Energy Research Scientific Computing Center)
## 概要
NVIDIA A100(NERSC Perlmutter)と GH200(TACC Vista)という 2 世代の GPU を対象に、GEMM・STREAM のマイクロベンチマークと 7 種の実アプリケーション(科学計算 5 種 + LLM 訓練 2 種)を用いて GPU 間の性能変動を実測した特性化研究(characterization study)。空間パターン(GPU 間の分散)と時間パターン(48 時間の反復実行での劣化有無)の両方を分析し、テレメトリ(コアクロック・電力・温度・積算エネルギー)との Pearson 相関から変動の要因を考察する。
## 問題設定
- 入力: cuBLAS ベースの GEMM カーネル(5 データ型)、STREAM ベンチマーク、7 実世界アプリケーション(NAMD、GROMACS、LAMMPS、NWChem、MILC、GPT 4.8B/19B、Llama-3.2 3B)を、Vista の 518 台の GH200 と Perlmutter の 512 台の A100 上で実行して収集した runtime・NVML テレメトリ。
- 前提: ユーザとしてのアクセス制約により、電源供給などの要因を直接操作して変動要因を切り分けることはできない(著者ら自身が明記する限界)。そのため本研究は原因の完全な特定ではなく、観測された変動を利用者・運用者が実務的に活用できる形で定量化することに主眼を置く。
- 必要なデータ: 各 GPU の計算レベル指標(計算サイズ・型・反復 ID・実行時間)と、NVML/Nsight による GPU レベル指標(タイムスタンプ・電力・GPU 使用率・コアクロック・メモリクロック・温度・積算エネルギー)。
## 提案手法(測定手法論)
- **ベンチマーク設計**: GEMM は 32768×32768 の正方行列を BF16・FP16・FP32・FP64・FP8(E4M3, Vista のみ)の 5 データ型で実行し、算術パイプラインを飽和させ CUDA/Tensor Cores 双方を計測できるようにする。STREAM は 1,308,622,848 要素の FP32 配列で copy・scale・add・triad の 4 操作を実行し、メモリ律速側の変動を捉える。いずれも cuRAND による一度限りのランダム初期化データを使い回し、20 回のウォームアップの後 100 回の反復を cudaEvent タイムスタンプで計測する。
- **フェーズ分解**: 各カーネルの実行過程を (i) メモリ確保・初期化、(ii) ウォームアップ、(iii) 記録対象反復、の 3 フェーズに分解してテレメトリを追跡する(下記 Figure 2)。これにより DVFS(動的電圧周波数スケーリング)コントローラが定常状態に達しているかを確認できる。
**Figure 1: 3D 並列(データ並列・パイプライン並列・テンソル並列)の構成**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig01-3d-parallelism.png]]
(Figure 1. ミニバッチをデータ並列(DATA 0/1)で分割し、各データ並列ランク内でパイプライン並列(PIPELINE 0/1)によりモデル層を分割し、さらに各パイプラインステージ内でテンソル並列(TENSOR 0/1)により行列演算を GPU 間分割する構成を示す。GPT 19B の多 GPU 訓練実験(§V-B2)は、この 3D 並列構成の DP/PP/TP のどこに最遅 GPU を配置するかを操作する。)
- **変動・外れ値の定量化手法**: 箱ひげ図の四分位範囲(IQR)を用い、外れ値は上限 Q3 + 1.5×IQR・下限 Q1 − 1.5×IQR の外側と定義する。変動(variability)は外れ値を除いたひげ上限とひげ下限の差を中央値(Q2)で正規化した指標、変動係数(coefficient of variance, CV = stdev/mean)は外れ値を含めた分散の指標として、両方を併用する。
## 新規性
先行研究(Sinha et al., "Not all GPUs are created equal: Characterizing variability in large-scale, accelerator-rich systems," Proc. Int. Conf. High Perform. Comput., Netw., Storage Anal., 2022。本論文中では "V100 study" と呼称、wiki 未取り込み)は NVIDIA V100 上の GEMM(FP32 単精度のみ、比較的小さな行列サイズ、CUDA Cores のみ)に限定されていた。本研究はこれを 3 方向に拡張する。(1) アーキテクチャ世代: Volta → Ampere(A100)→ Hopper(GH200)という高速な世代交代を追跡し、(2) 精度の広がり: FP8・BF16・FP16・FP32・FP64 の 5 データ型と CUDA/Tensor Cores 双方の計算パスを横断し、(3) メモリ帯域の進化: HBM2 → HBM2e → HBM3 という帯域改善を反映した大規模行列でメモリを飽和させる。さらに、マイクロベンチマークに閉じず、7 種の実世界アプリケーション(5 科学アプリケーション + 2 LLM 訓練)と、単一 GPU に限らない 3D 並列による GPT 19B の多 GPU 訓練実験まで検証範囲を広げている点が、既存研究との最大の違いである。
## 実験設定
- **ハードウェア**: TACC Vista(空冷、GH200 1 台/ノード、72 コア Grace CPU + 96GB HBM3 の H100 相当 GPU、NVIDIA NDR InfiniBand 400 Gbps、評価には 518 台の GH200 を使用)。NERSC Perlmutter(液冷、AMD EPYC 7763 + A100(40GB/80GB HBM2e)4 台/ノード、Slingshot 11、評価には 128 ノード・512 台の A100 を使用)。クラスタ全体の規模は Table I の通り(Vista: 600 GPU/600 ノード、Perlmutter: 6144 GPU/1536 ノード)で、実験で実際に使用した GPU 数(518・512)はこの部分集合。
- **ソフトウェア**: 両システムで CUDA 12.4 を使用。Tensor Memory Accelerator (TMA) は一部アプリケーションが実験的機能としてしか対応していないため無効化。
- **測定対象**: (1) マイクロベンチマーク(GEMM・STREAM)、(2) 単一 GPU での科学アプリケーション(NAMD・GROMACS・LAMMPS・NWChem・MILC)と LLM 訓練(GPT 4.8B・Llama-3.2 3B、Megatron-LM 使用、OpenWebText データセット)、(3) 8 GPU での GPT 19B の 3D 並列訓練(2 データ並列 × 2 パイプラインステージ × 2 テンソル並列)、(4) 48 時間の GPT 4.8B 連続事前学習による時間的解析。
- **統計処理**: 測定を繰り返して信頼区間を構成し、統計的有意性を確保する標準的な手法に従う。
## 実験結果
### マイクロベンチマークのフェーズ推移とテレメトリ
**Figure 2: GEMM 実行の 3 フェーズにおけるテレメトリ推移**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig02-telemetry-phases.png]]
(Figure 2. Tensor Cores・FP32 精度で GEMM を実行した際の (a) コアクロック周波数、(b) 電力、(c) 温度、(d) 積算エネルギー消費の 3 フェーズ(初期化/確保・ウォームアップ・記録対象反復)へのマッピング。温度は初期化からウォームアップにかけて対数的に上昇しその後安定する一方、コアクロック周波数は初期化からウォームアップにかけて急激に指数的減少を示し以降は安定する。電力は顕著な線形上昇の後安定し、積算エネルギーはウォームアップ開始から反復終了まで線形に増加する。本研究は時間的解析(§V-C)により、この温度上昇自体はベンチマーク性能に影響しないことを確認している。)
### GEMM マイクロベンチマークの精度階層と変動
精度階層(FP64 が最も実行時間が長く、FP32・BF16・FP16・FP8 の順に短縮)は既知の GPU の挙動と一致した。
**Figure 3: Tensor Cores・CUDA Cores の変動(Var)と変動係数(CV)**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig03-variability-cv.png]]
(Figure 3. Vista と Perlmutter の Tensor Cores(上段 a)・CUDA Cores(下段 b)について、5 データ型ごとの variability(var、外れ値を除く)と coefficient of variance(cv、外れ値を含む)を棒グラフで比較。Tensor Cores では GH200 が 3.7〜6.3%、A100 が 5.0〜8.8% の範囲で、FP8 を除き精度が上がるほど変動が増加する傾向を示す。CUDA Cores では GH200 が 0.1〜4.5%、A100 が 0.1〜8.2% で、両システムとも単調増加パターンを示す。**OBSERVATION 1**: 変動と変動係数は精度階層に厳密には従わないが、Tensor Cores の最低精度を例外として増加傾向がある。**OBSERVATION 2**: Tensor Cores は特に低精度データ型で CUDA Cores より高い変動と変動係数を示す傾向がある。)
### GEMM 外れ値と Vista/Perlmutter での実行時間分布
**Figure 4: Vista GH200 Tensor Cores 上の行列積ワークロードの実行時間測定**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig04-gemm-runtime-vista.png]]
(Figure 4. (a) BF16、(b) FP16、(c) FP32、(d) FP64、(e) FP8 の各パネルで、Vista 全 GPU の実行時間分布(箱ひげ図 + 散布)と、最遅 3 台・最速 3 台のノードをマーカーで強調表示。ノード c640-041 と c621-102 は Tensor/CUDA Cores を問わず全 GEMM 実験で最遅 3 台の一角として一貫して出現し、ノード c638-151 は行列積実験の Tensor Cores・FP64 の CUDA Cores で最速 3 台の一角として一貫して出現する。Perlmutter でも GPU 3 on nid001977 が 5 種の GEMM 実験で最遅 3 台の一角、GPU 3 on nid001065 が BF16・FP16・FP32・FP64(Tensor Cores)で最速 3 台の一角として出現する。**OBSERVATION 3**: 外れ値 GPU は複数の精度にまたがるワークロードで一貫して異常として現れる。)
Table II は GEMM における性能外れ値の割合(IQR の外側にある比率)を核タイプ・データ型別に示す。Vista の CUDA Cores は BF16 で 22.4%・FP16 で 18.3%・FP32 で 18.3%・FP64 で 7.9% と高い外れ値割合を示す一方、Tensor Cores は 2.9%〜9.3% と低い。Perlmutter は全体的に Vista より外れ値割合が低い(CUDA Cores 1.2%〜11.7%、Tensor Cores 0.8%〜1.6%)。
**Table II: GEMM の性能外れ値割合**
| Cluster | Core Type | BF16 | FP16 | FP32 | FP64 | FP8 |
|---|---|---|---|---|---|---|
| Vista | CUDA | 22.4% | 18.3% | 18.3% | 7.9% | NA |
| Vista | Tensor | 3.9% | 4.6% | 9.3% | 8.1% | 2.9% |
| Perlmutter | CUDA | 11.7% | 3.5% | 1.2% | 2.0% | NA |
| Perlmutter | Tensor | 1.4% | 0.8% | 1.4% | 1.6% | NA |
(Table II. FP8 は Vista(GH200)のみ計測対象であり、Perlmutter(A100)は "NA"。)
### テレメトリ相関分析
Vista は GEMM を Tensor Cores・FP8 で、Perlmutter は Tensor Cores・BF16 で実行した際の最遅・最速 GPU を比較する。
**Table III: 最遅 GPU と最速 GPU のテレメトリ比較(Vista=FP8, Perlmutter=BF16, Tensor Cores)**
| Machine | Group | Time (ms) | Clock (MHz) | Power (W) | Temp (°C) | Energy (kJ) |
|---|---|---|---|---|---|---|
| Vista | Slowest | 69.13 | 1234.85 | 541.14 | 63.55 | 5.97 |
| Vista | Fastest | 52.72 | 1642.69 | 781.73 | 67.75 | 3.44 |
| Vista | % diff. | 26.9 | -28.4 | -36.4 | -6.4 | 53.8 |
| Perlmutter | Slowest | 278.64 | 1249.62 | 336.20 | 53.75 | 13.96 |
| Perlmutter | Fastest | 257.78 | 1326.10 | 329.98 | 51.21 | 12.74 |
| Perlmutter | % diff. | 7.8 | -5.9 | 1.9 | 4.8 | 9.1 |
(Table III. % diff. は (slowest − fastest) / ((slowest + fastest)/2) × 100 で算出。Vista の最遅 GPU は最速 GPU より電力・温度が低いにもかかわらず遅い一方、Perlmutter では両者の電力はほぼ同等で最遅 GPU の方が高温という対照的な傾向を示す。)
**Table IV: コアクロック・電力・温度・エネルギーの Pearson 相関係数と p 値 ((r, p))**
| Machine | Outliers | Clock Freq. | Power | Temp. | Energy |
|---|---|---|---|---|---|
| Vista | w/ | -0.69, 0.00 | -0.60, 0.00 | 0.24, 0.00 | 0.05, 0.27 |
| Vista | w/o | -0.36, 0.00 | 0.01, 0.81 | 0.26, 0.00 | 0.27, 0.00 |
| Perlmutter | w/ | -0.98, 0.00 | 0.10, 0.02 | 0.32, 0.00 | 0.86, 0.00 |
| Perlmutter | w/o | -0.77, 0.00 | 0.05, 0.27 | 0.38, 0.00 | 0.84, 0.00 |
**Figure 5: 最遅・最速 GPU のテレメトリ分布(Vista=FP8, Perlmutter=BF16)**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig05-telemetry-slowest-fastest.png]]
(Figure 5. 上段 (a)-(d) が Vista GH200(FP8)、下段 (e)-(h) が Perlmutter A100(BF16)の、コアクロック・電力・温度・積算エネルギーの分布。散布点上に最遅 3 台・最速 3 台のノード/GPU 識別子をマーカーで重ねる。**OBSERVATION 4**: DVFS によるコアクロック上昇はテンソルコア GEMM 実行時間をほぼ線形に短縮し、クロック周波数と実行時間には強い負の相関がある。**OBSERVATION 5**: Vista の GH200 では高電力がしばしば DVFS 駆動のブーストの兆候であり電力と実行時間が負の相関を示す一方、Perlmutter の A100 では BF16 負荷下の電力キャップにより弱い正の相関が生じる。**OBSERVATION 6**: 持続的な反復実行による熱上昇はスロットリングを誘発しうるため、温度と実行時間の相関は Perlmutter の方が Vista よりわずかに強い正の相関を示す。**OBSERVATION 7**: 総エネルギー消費は電力キャップされた Perlmutter の A100 では実行時間とほぼ線形にスケールするが、動的にスケールする Vista の GH200 ではその傾向は弱い。)
### STREAM ベンチマーク(メモリ律速側)
**Figure 6: Vista(GH200)における STREAM ベンチマークの散布・バイオリンプロット**
![[_attachments/Quantifying_Performance_Variability_in_GPU_Clusters/fig06-stream-performance.png]]
(Figure 6. copy・scale・add・triad の 4 操作についてノードあたりのメモリ帯域(TB/s)を散布・バイオリンプロットで示す。少数の外れ値を除き、ほとんどの GPU は同様のメモリ帯域を示し、変動はそれぞれ copy 0.14%・scale 0.13%・add 0.27%・triad 0.32% と極めて小さい。**OBSERVATION 8**: メモリ律速のベンチマークは GPU 性能変動に対して敏感ではない。この結果は GH200 上の CUDA Cores・FP32 GEMM の変動(Figure 3(b))とも整合する。)
### 単一 GPU での実世界アプリケーション
**Table V: FP32 カーネル速度でグループ化した GPT 平均性能**
| Benchmark | Fastest | Medium | Slowest |
|---|---|---|---|
| FP32 (ms) | 166.0 | 169.2 | 201.2 |
| GPT (tokens/s) | 7233.87 | 7222.54 | 6636.81 |
(Table V. Vista 上で FP32 GEMM 速度により最速・中位・最遅の 5 台ずつ(外れ値含む)にグループ化し、GPT 4.8B のスループットを比較。最速→最遅で 9.2%(最速・最遅 GPU 間では 15.8%)のスループット低下。**OBSERVATION 9**: Vista では GPT 4.8B・Llama 3B のような LLM 訓練は GPU 性能変動に高い感度を示す。なお Llama 3B の測定は GPT 測定の 1 年後に実施されており、一部の最遅 GPU は交換済みのため GEMM 測定をやり直して 3 グループを選び直した。その結果、Llama 3B の変動は 8.9%(GPT 4.8B の 10.4% と比較して)であった。)
### 多 GPU LLM 訓練(GPT 19B・3D 並列)
**Table VI: GPT 19B 訓練における 3D 並列(DP=0 固定)での最遅 GPU 配置別スループット(tokens/秒)**
| Slowest GPU Placement | mean | var | std. |
|---|---|---|---|
| Baseline | 14916.86 | 1.1% | 22.88 |
| TP0 / PP0 | 13665.43 | 3.5% | 134.51 |
| TP0 / PP1 | 13652.52 | 3.6% | 118.49 |
| TP1 / PP0 | 13704.12 | 3.5% | 146.02 |
| TP1 / PP1 | 13730.89 | 3.6% | 121.44 |
(Table VI. Baseline は 8 台の均質な GPU 構成。最遅 GPU をどの配置(DP=0 固定で PP・TP の 4 通り)に混入させても、ベースラインに対して 8.0〜8.5% のスループット低下が一貫して生じる。**OBSERVATION 10**: 3D 並列構成での GPT 19B 訓練は、最遅 GPU の配置に関わらず、その混入自体によって有意に減速する。固定した残り 7 台の代わりにランダムに選び直す対照実験でも同様の減速幅が再現され、ネットワークトポロジではなく最遅 GPU 自体がボトルネックの原因であることが確認された。)
### 科学アプリケーション
**Table VII: Vista 上の科学アプリケーション性能変動**
| App. | GROMACS | LAMMPS | NAMD | NWChem | MILC |
|---|---|---|---|---|---|
| Variability | 1.0% | 5.0% | 5.8% | 6.5% | 12.2% |
(Table VII. GROMACS・LAMMPS・NAMD は CUDA Cores 上で FP32 を多用し変動が低い。NWChem は主に CUDA Cores 上で FP64 を使用し、MILC は大半の反復を FP32 で実行しつつ周期的に FP64 で解を補正するため、両者は他より高い変動を示す。**OBSERVATION 11**: FP64 を使う科学アプリケーションは FP32 のみを使うものより高い変動を示す。同一 GPU グループにおける FP64・FP32 の GEMM 変動はそれぞれ 41.4%・21.3%であり、この傾向と整合する。)
### 時間的解析
Vista の最速・最遅 GPU(マイクロベンチマーク結果に基づき選定)で、混合精度(Tensor Cores 上で BF16 マスターモデル・FP32 オプティマイザ状態)による GPT 4.8B の事前学習を 48 時間連続実行した。実行時間の増加は観測されず、反復間の実行時間のわずかな変動は周辺温度の変化や測定ノイズなど過渡的なシステムレベル要因に起因すると考えられ、緩やかな性能劣化を示すものではない(ただし著者らは、数か月・数年規模のより長期の時間的効果までは否定していないと注記する)。**OBSERVATION 12**: ワークロードを長期間繰り返し実行するだけでは、カーネル実行時間に有意な影響は生じない。
## 考察
全変動測定を GPU・計算パス・ベンチマーク・アプリケーションにまたがって俯瞰すると、2 つの明確なパターンが浮かび上がる。(1) Tensor Cores または CUDA Cores 上の FP64 を使うアプリケーションは高い性能変動を示す。(2) CUDA Cores 上で BF16・FP16・FP32 を使うアプリケーションは低い性能変動を示す。著者らはこの知見に基づき 3 つの緩和策を提案する。第一に、割り当ての開始/終了時に GEMM 測定によるヘルスチェックを実施し、外れ値検出時は予備 GPU へ交換する(本研究期間中に TACC が実際に一部の最遅 GPU を 2025 年末に交換したことを確認している)。第二に、予備 GPU が無い場合は外れ値をプロダクションキューから除外する。第三に、アプリケーションの GPU 性能変動への感度差を利用し、感度の低いアプリケーションを低速 GPU に、GPT・Llama・MILC のような感度の高いアプリケーションを通常 GPU にスケジューリングすることで、ストラグラー効果を最小限のスローダウンで回避する。
## 強み / 弱点・課題
**強み**:
- 先行研究(V100・FP32・小行列・CUDA Cores のみ)を、2 世代新しい GPU(A100・GH200)・5 データ型・両計算パス(CUDA/Tensor Cores)・7 実アプリケーション・多 GPU 3D 並列訓練にまで拡張し、現代的な HPC/LLM ワークロードに対する適用範囲を大きく広げた。
- マイクロベンチマークに閉じず、GPT 19B の 3D 並列訓練という大規模な実運用に近い設定で「最遅 GPU の配置は結果にほとんど影響しない(原因は GPU 自体)」という運用上重要な知見を実証した。
- テレメトリ相関分析(Pearson r, p 値)により、DVFS・熱スロットリング・電力キャップという 3 つの要因が Vista と Perlmutter で異なる形で変動に寄与することを定量的に示した。
**弱点・課題(著者ら自身が明記)**:
- ユーザとしてのアクセス制約により電源供給等の要因を直接操作できず、性能変動の根本原因を実験的に切り分けられていない(将来課題としてカーネル・アクセスパターンの因果解析を予告)。
- 変動の根本原因分析は今後の課題であり、本研究はあくまで特性化(現象の定量化)にとどまる。ジョブ干渉・ネットワーク輻輳・NUMA 効果といったシステムレベル要因も未検証。
- Llama 3B の測定は GPT 4.8B 測定の 1 年後に実施されており、GPU 構成(最遅 GPU の一部交換)が測定間で変化している(脚注で著者らが明記)。長期の大規模 LLM 訓練では、たとえ 1 台でも遅い GPU がストラグラーとなり同期訓練全体のスループットを下げうる点を著者らは強調する。