需要确保资源正确分配,mpirun可以用如下命令,$ngpu$
是跨节点的总GPU数,$ngpu_per_node
是每个节点的GPU数量
mpirun -np $ngpu -npernode $ngpu_per_node \
--map-by slot:pe=1 \
--rank-by slot \
--bind-to core \
--report-bindings \
<commond to run>
作业脚本为了跨节点GPU申请也需要使用额外的设置,这里以slurm为例,应该写成
#!/bin/bash
#SBATCH -N 4 # 节点数
#SBATCH --gres=gpu:8 # 每个节点的GPU个数,对应$ngpu_per_nod
#SBATCH --qos=<gpu资源名称> # 这部分需要参考服务器的说明