#!/bin/bash -l #$ -l h_rt=12:00:00 #$ -N mpi_test #$ -pe mpi_16_tasks_per_node 32 module load openmpi/3.1.4 # Two examples here. This command launches 1 MPI process per node. # The --map-by command will round-robin through the nodes, assigning # 1 process per node before moving on to the next. mpirun -np 2 --map-by node ./hello # To launch 2 processes per node use a different --map-by option to # make sure the processes are on separate CPU sockets. There is 1 # memory controller per socket (that's what the "numa" refers to) # and the "span" modifier tells mpirun to use socket 0 on node 0, # then socket 1 on node 0, then socket 0 on node 1, etc. mpirun -np 4 --map-by numa:span ./hello