对于2个节点,每个节点有2vcpu,总核数2*2=4
实现节点间MPI并行,节点内部openMP并行
#!/bin/sh
#PBS -N myjob
#PBS -l nodes=2:ppn=1
cd /home/username/softwave/test
export OMP_NUM_THREADS = 2
mpirun -np 2 ./hello
测试:
nodes*ppn是mpi可以设置的最大并行数;
ppn设置小于节点总vcpu数量,把OMP_NUM_THREADS设置为节点总vcpu/ppn;
通过以上设置,我测试就可以实现集群中混合编程脚本调用。
openMP*MPI的总核数千万不要超过实际核数(例如本例子总核数=4),不然计算会非常慢!
具体调用原理不清楚。