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 -

编译与运行说明

有两种方式获取并运行HPCG:

方式一:从源码获取

下载nvidia提供的HPCG实现:

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

随后将附在压缩包内的三个脚本放入到nvidia-hpcg/下:

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

方式二:使用附件压缩包

直接解压附在附件hpcg.zip,其中含有上述的三个脚本。


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

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中的注释调整

性能最佳的输出

存放在与本README.md相同的目录下,文件名output.txt