前面的文章已经介绍了如何搭建Linpack环境:https://blog.csdn.net/liu_feng_zi_/article/details/107429720
接下来说明如何使用
一、编写运行脚本:
新建文件:run_linpack.sh,内容如下:
export HPL_DIR =/root/LHC/Linpack/hpl-2.0_FERMI_v15
export MKL_NUM_THREADS=6
export OMP_NUM_THREADS=6
export MKL_DYNAMIC=FALSE
export CUDA_DGEMM_SPLIT=0.836
export CUDA_DTRSM_SPLIT=0.806
export LD_LIBRARY_PATH= $HPL_DIR/src/cuda:$LD_LIBRARY_PATH
$HPL_DIR/bin/CUDA/xhpl
1、MKL_NUM_THREADS:每个进程使用的CPU核的数量
2、OMP_NUM_THREADS:每个GPU使用的CPU核的数量
例如:2个GPU和8个CPU,则OMP_NUM_THREADS=4
3、CUDA_DGEMM_SPLIT:发送给GPU的DGEMM占总的百分比,大致等于(GPU GFLOPS)/(GPU GFLOPS + CPU GFLOPS),或者( 350 ) / ( 350 + 每个GPU的CPU数量 * 4 * CPU基本频率 )
4、CUDA_DTRSM_SPLIT:发送给GPU的DTRSM占总的百分比,通常比DGEMM低0.05-0.10
5、HPL_DIR:文件的路径
二、HPL.dat参数设置:
之前的文章写过:https://blog.csdn.net/liu_feng_zi_/article/details/107416291
三、执行文件:
单节点执行:
./run_linpack.sh
多节点执行(没有测试过,仅供参考):
mpirun -np N ./run_linpack.sh
#N为节点数