你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍 Azure 上的 HPC- AI 基准测试。 专为建筑师、工程师和决策者设计,这些人需要:
- 评估适用于新工作负荷或现有工作负荷的 Azure 基础结构
- 建立性能基线
- 使用目标数据比较 VM 系列
- 优化性能和成本效益
为什么基准测试很重要
基准测试提供支持技术和业务决策的基于证据的见解。 它为 HPC 和 AI 工作负载提供多个关键用途:
- 选择适当的基础结构:将工作负荷特征与最合适的 Azure VM 系列相匹配。
- 验证性能:确认部署的系统是否满足预期的吞吐量和延迟目标。
- 优化配置:识别计算、内存、存储和网络之间的瓶颈。
- 分析成本效益:比较 VM 选项之间的性价比。
- 支持采购决策:为利益干系人提供可重复、可防御的性能数据。
关键性能指标
了解用于度量 HPC 系统性能的核心指标对于有意义的系统评估和比较至关重要。 它们提供客观的度量以便进行比较,识别系统瓶颈,从而促进性能调优,并帮助预测应用程序性能。 指标因工作负荷类型而异,但它们通常分为四个类别。
计算性能指标描述了系统的原始处理功能,以及在实践中实现该功能的效率。 FLOPS(每秒浮点运算)通常用于量化计算吞吐量,并经常在诸如 HPL(LINPACK)这样的基准测试中报告。 虽然峰值性能表示硬件的理论最大功能,但持续性能反映了实际工作负荷下的应用程序实际实现的功能,因此对于大多数评估而言,这是一个更有意义的指标。
适用于 HPC 和 AI 的 Azure VM 系列
Azure 提供针对不同工作负荷模式优化的专用 VM 系列。
基于 CPU 的 HPC (HB 系列)
HB 系列 VM 针对内存带宽和低延迟网络进行了优化,使其非常适合传统的 HPC 工作负荷,例如:
- 计算流体动力学 (CFD)
- 天气和气候建模
- 有限元素分析
主要特征包括:
- 多核 AMD EPYC 处理器
- 大型内存带宽(包括新一代中的 HBM)
- 高速 InfiniBand 网络
基于 GPU 的 AI (ND 系列)
ND 系列 VM 专为 GPU 加速工作负荷而设计,包括:
- 深度学习培训
- 大型语言模型 (LLM) 推理
- AI 研究和试验
这些 VM 功能:
- 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 到 NIC 相关性
在基准测试期间
- 预热运行:放弃初始运行以允许缓存稳定
- 多次迭代:至少运行 5 次迭代,并报告中值或平均值
- 一致条件:在比较中保持 OS、驱动程序和配置相同
- 记录所有内容:记录软件版本、环境变量和命令行参数
要避免的常见陷阱
- 预热期不足
- 比较不同的软件版本
- 忽略 NUMA 拓扑
- 在不优化的情况下使用默认配置
- 样本大小不足