charmplusplus / charm

The Charm++ parallel programming system. Visit https://charmplusplus.org/ for more information.
Apache License 2.0
203 stars 49 forks source link

support ++mpiexec with poe #906

Closed jcphill closed 8 years ago

jcphill commented 8 years ago

Original issue: https://charm.cs.illinois.edu/redmine/issues/906


IBM's poe launcher uses MP_CHILD and MP_PROCS to specify the rank and size. It can currently be used with ++mpiexec via the following ++remote-shell script:

!/bin/csh -f

shift shift sed -e s/PMI_ID/MP_CHILD/ -e s/PMI_SIZE/MP_PROCS/ -i.orig $1 exec poe $*

MP_CHILD and MP_PROCS should be added to the end of the set of environment variables that the generated charmrun script checks.

It would also be good to have a charmrun command line option to not pass -n to mpiexec, since most sites seem to use an mpiexec substitute that gets the process count directly from the environment. With these changes NAMD could be launched as (e.g.):

charmrun +pXXX ++mpiexec-no-n ++remote-shell poe namd2 ...

or (on Stampede):

charmrun +pXXX ++mpiexec-no-n ++remote-shell ibrun namd2 ...

jcphill commented 5 years ago

Original date: 2015-12-03 23:14:50


Added environment variables in https://charm.cs.illinois.edu/gerrit/#/c/935/ https://github.com/UIUC-PPL/charm/commit/a830a94f69ff6712daffd16e11fd3f41ac27b839

PhilMiller commented 5 years ago

Original date: 2015-12-04 03:46:04


Jim, could you please open a separate issue for the suggested ++mpiexec-no-n ? I think that may require a bit more discussion. At any rate, it's a distinct change from this one.

stwhite91 commented 5 years ago

Original date: 2016-05-12 19:28:25


https://charm.cs.illinois.edu/gerrit/#/c/942/ https://github.com/UIUC-PPL/charm/commit/3b59f9fa8306dd103b75a0403cbd20d5ff741f9d