共用方式為


High-Performance 運算(HPC)效能和性能評定概觀

本文介紹 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 拓撲
  • 使用未優化的預設配置
  • 樣本大小不足