本文介紹 Azure 上的 HPC-AI 基準測試。 它專為建築師、工程師及決策者設計,讓他們能夠:
- 評估 Azure 基礎設施以應對新工作負載或現有工作負載
- 建立績效基線
- 使用客觀數據比較虛擬機系列
- 優化效能與成本效益
為什麼基準測試很重要
基準測試提供基於證據的洞見,支持技術與商業決策。 它對高性能計算(HPC)與人工智慧工作負載有多項關鍵功能:
- 選擇合適的基礎架構:將工作負載特性與最適合的 Azure VM 家族相匹配。
- 驗證效能:確認部署系統是否達到預期的吞吐量與延遲目標。
- 優化配置:識別運算、記憶體、儲存與網路的瓶頸。
- 分析成本效益:比較不同虛擬機選項的性價比。
- 支持採購決策:向利害關係人提供可重複且具理據的績效數據。
關鍵效能計量
了解用於衡量 HPC 系統效能的核心指標,對於進行有意義的系統評估與比較至關重要。 它們提供客觀的比較量測,識別系統瓶頸,從而促進效能調整,並協助預測應用程式效能。 指標依工作量類型而異,但大致可分為四類。
運算效能指標描述系統的原始處理能力,以及該能力在實務中實現的效率。 浮點運算每秒(FLOPS)常用於量化計算吞吐量,並常由 HPL(LINPACK)等基準測試報告。 雖然峰值效能代表硬體理論上的最大能力,但持續效能反映應用在真實工作負載下的實際表現,因此對大多數評估而言是更有意義的指標。
Azure VM 家族用於 HPC 與 AI
Azure 提供針對不同工作負載模式調整的專用虛擬機家族。
基於 CPU 的 HPC(HB 系列)
HB 系列虛擬機針對記憶體頻寬與低延遲網路進行優化,非常適合用於傳統 HPC 工作負載,例如:
- 計算流體力學(CFD)
- 天氣與氣候模型
- 有限元素分析
主要特徵包括:
- 高核心數多核 AMD EPYC 處理器
- 大記憶體頻寬(包括較新一代的 HBM)
- 高速 InfiniBand 網路
基於 GPU 的 AI(ND 系列)
ND 系列虛擬機設計用於 GPU 加速工作負載,包括:
- 深度學習訓練
- 大型語言模型(LLM)推論
- 人工智慧研究與實驗
這些虛擬機具備:
- NVIDIA 資料中心 GPU(H100、H200、Blackwell)
- 大型 GPU 記憶體容量
- 高頻寬 GPU 對 GPU 及 GPU 對網路互連
基準測試類別
不同的基準測試會回答不同的問題。 根據你想評估的效能面向選擇基準測試。
合成基準測試
綜合基準測試可分離出特定系統元件,並有助於基線驗證:
- STREAM – 衡量可持續記憶體頻寬
- HPL(LINPACK)– 衡量浮點運算峰值效能
- HPCG – 評估稀疏線性代數的效能,更接近真實世界的 HPC 工作負載
- OSU Micro-Benchmarks – 驗證 MPI 延遲與頻寬
- NCCL 測試 – 衡量 GPU 集體通訊效能
應用基準測試
應用基準反映實際行為,且通常更具代表性:
- ANSYS Fluent – CFD 求解器效能
- WRF – 天氣與大氣建模
- GROMACS / NAMD – 分子動力學通量
- MLPerf 訓練 – 端對端 AI 訓練效能
- MLPerf 推論 – 建模服務吞吐量與延遲
入門指南
請遵循以下建議路徑開始在 Azure 上進行基準測試:
1. Set up infrastructure
└── Setting Up Your First HPC Cluster (CycleCloud + Slurm)
2. Run baseline benchmarks
├── Running Your First Benchmark: STREAM (CPU/memory)
└── Running NCCL Benchmarks (GPU communication)
3. Compare VM options
├── CPU HPC VMs Comparison
└── GPU AI VMs Comparison
4. Optimize for your workload
└── Optimizing NCCL for Azure (AI training)
最佳做法
以下是一些可靠且可重現基準測試的指引:
在你做基準測試之前
- 使用 HPC/AI 優化的映像檔:從包含預先設定驅動程式及函式庫的 Azure HPC 映像檔(AlmaLinux-HPC 及 Ubuntu-HPC)開始
- 確認驅動版本:確保 GPU 驅動程式、InfiniBand 驅動程式及 NCCL 版本皆為最新
- 檢查拓撲:確認 NUMA 設定及 GPU 與網卡的關聯性
基準測試期間
- 熱身跑:捨棄初始跑數以讓快取穩定
- 多次迭代:至少執行 5 次迭代,並報告中位數或平均值
- 條件一致:在比較中保持作業系統、驅動程式與設定一致
- 記錄所有內容:記錄軟體版本、環境變數及命令列參數
要避免的常見陷阱
- 熱身期不足
- 比較不同軟體版本
- 忽略 NUMA 拓撲
- 使用未優化的預設配置
- 樣本大小不足