[lammps-users] What if more processes than tasks requested

Hi all,

This is a basic question and I could not find a solution online.

If I use lmp_mpi using slurm with the following options

#SBATCH --nodes=2
#SBATCH --ntasks=24
mpriun -48 ./lmp_mpi -in input

In the above example. the number of processes > ntasks or rather is equal to ntasks*nnodes. Would the solutions that LAMMPS output be wrong (assuming everything else is correct) or would there be degradation in performance? Any inputs would be appreciated.

Kind regards,

Vaidyanathan M. S
Postdoctoral Research Associate,
ORNL

The LAMMPS output will be mostly unaffected by the number of MPI processes used. The speed and parallel efficiency will be strongly affected. In general, as you add more MPI processes, the speed (timestep/sec) increases proportionately at first and then stops increase and may even decrease as the parallel efficiency becomes lower and lower. It is up to you to find a good balance between speed and efficiency by choosing the right number of MPI tasks for your simulation.

Thank you, Aidan.

Just one more question – I am just reading about oversubscribing nodes in mpirun and I saw a lot of discussion on the degradation in performance, but did not see any discussion on whether it has an effect on the output. So, do they assign the tasks in Round-Robin fashion when processors are oversubscribed? Thank you in advance.

Again, if you oversubscribe nodes, the output should be unaffected, but the performance will depend on your simulation as well as all the machine parameters.

Thank you, Aidan. Thanks a lot :slight_smile: