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.shbuild_sample.shrun.sh
确保基础实现配置满足最低要求后,请按照以下顺序执行脚本:
1. beforebuild.sh
根据注释写的说明来调整文件具体的位置,尤其需要保证以下变量配置正确:
MPI_PATHCUDA_PATHMATHLIBS_PATHNCCL_PATHNVPL_SPARSE_PATH
在进行下一步前,需要验证上述变量是否正确
2. build_sample.sh
需要修改以下内容:
CXX_PATHPATH
如果是在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 绑定参数和软件版本,便于后续对比。本文暂未附带原始实验输出。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Naomiku的自留地!
评论
