[mpich-discuss] Optimizing runtime for 4 mpiexec.hydra jobs

Douglas Dommermuth dgd at mit.edu
Wed Nov 13 10:39:25 CST 2019

I am running Ubuntu 18.04.3 with MPICH 3.3~a2-4 and GFortran 4:7.4.0-1ubuntu2.3 and GCC 4:7.4.0-1ubuntu2.3CC on dual AMD EPYC 7742 processors with hyper threading enabled.  My codes are written in MPI and Fortran.  The dual AMD processors have 128 cores and 256 threads.   I want to optimize the runtime for 4 mpi jobs running concurrently with 64 threads each.  Some timings are provided here:

  1.  One mpi job with mpiexec.hydra -n 64 myprog => 57.32s
  2.  One mpi job with mpiexec.hydra -bind-to numa -n 64 => 50.52s
  3.  Two mpi jobs with mpiexec.hydra -n 64 myprog => 99.77s
  4.  Two mpi jobs with mpiexec.hydra -bind-to numa -n 64 => 72.23s
  5.  Four mpi jobs with mpiexec.hydra -bind-to numa -n 64 => 159.2s

The option "-bind-to numa" helps, but even so,  running four mpi jobs concurrently with 64 threads each is considerably slower than running one mpi job with 64 threads.  I can almost run four mpi jobs sequentially and match the time for running four mpi jobs concurrently.   How can I improve on the result for running 4 mpi jobs concurrently?   Thanks, Doug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20191113/ead559b4/attachment.html>

More information about the discuss mailing list