HPCG实验操作流程

实验环境配置

基础实现配置

实验配置 参数版本 要求版本
平台 V100 -
GPU数量 1或2 -
HPCG 实现 nvidia-hpcg -
Git 2.39.5 -
OpenMPI 5.0.7 4.1
CUDA Toolkit 12.9.86 12.3
cuSPARSE 12.5.10.65 12.3
cuBLAS 12.9.1.4 12.2
gcc 13.4.0 13.0
nvpl 25.5 24.03
nccl 2.27.7 2.19
gfortran 13.4.0 -

编译与运行说明

本文记录的是一次特定集群环境中的实验流程。配套脚本依赖该环境的安装路径,目前未作为公开附件提供;请先从官方仓库获取源码,再根据本文列出的变量自行编写或调整构建脚本。

从源码获取

下载nvidia提供的HPCG实现:

1
git clone https://github.com/NVIDIA/nvidia-hpcg

实验中使用了以下三个本地脚本:

  • beforebuild.sh
  • build_sample.sh
  • run.sh

确保基础实现配置满足最低要求后,请按照以下顺序执行脚本:

1. beforebuild.sh

根据注释写的说明来调整文件具体的位置,尤其需要保证以下变量配置正确:

  • MPI_PATH
  • CUDA_PATH
  • MATHLIBS_PATH
  • NCCL_PATH
  • NVPL_SPARSE_PATH

在进行下一步前,需要验证上述变量是否正确


2. build_sample.sh

需要修改以下内容:

  • CXX_PATH
  • PATH

如果是在V100平台上,需要先把setup/Make.CUDA_X86里面的架构代码从80改为70

其他情况可以按照下表修改参数:

参数 修改方式
USE_CUDA 设置为 1 以构建 NVIDIA GPU,否则设置为 0
USE_GRACE 设置为 1 以构建 NVIDIA Grace CPU,否则设置为 0。设置为 0 时,代码将针对 x86 平台生成
USE_NCCL 设置为 1 可为 NCCL 构建,否则设置为 0

随后可以直接运行build_sample.sh


3. run.sh

理论上,如果前面两个脚本已经成功完成编译和运行,这个脚本可以直接运行。

相关参数自定义

可以修改MPI的进程绑定参数,网络拓扑参数,以及问题尺寸配置,具体可以根据run.sh中的注释调整

性能最佳的输出

建议把每次运行的标准输出重定向到独立文件,例如 output.txt,并同时记录 GPU 数量、问题规模、MPI 绑定参数和软件版本,便于后续对比。本文暂未附带原始实验输出。