PMIx and PRRTE both read and forward their respective default MCA parameters 
from default system and user-level param files:

<install>/etc/pmix-mca-params.conf
<homedir>/.pmix/mca-params.conf

<install>/etc/prte-mca-params.conf
<homedir>/.prte/mca-params.conf

PMIx will also do the same thing for OMPI default system and user-level params 
provided it is told the programming model. Getting the system-level defaults 
requires that the user have "OMPIHOME" set in their environment to point to the 
installation so we can find the default param file. In the case of "mpirun" and 
friends, we automatically do this. Our hope is that resource managers such as 
Slurm will update their PMIx support to include this feature - even though they 
auto-forward your environment, they don't know to collect the params in the 
default files, thus forcing every OMPI proc to open/read those files...and 
causing a logjam on the file system.

In addition to the default params, PMIx also (if the OMPI model is declared) 
picks up and forwards OMPI-specific envars. By default, we capture all envars 
that start with "OMPI_". However, you can control that by setting the 
PMIX_MCA_pmdl_ompi_include and PMIX_MCA_pmdl_ompi_exclude params.

There is a similar capability for OSHMEM. The default here is to forward all 
envars that start with "SHMEM_" or "SMA_", per the folks at Stonybrook.

The question that has arisen is: what should the default params include? 
Obviously, the system manager as well as the user can set them to be anything 
they want, but it would be nice if we could provide an adequate initial set. 
For example, one group has suggested that the OMPI model include all "CUDA_" 
envars.

I should note that PMIx also does this for fabrics! For example, if we see OPA 
is on the system, we automatically forward all "HFI_" and "PSM2_" envars. This 
is the only fabric with a PMIx plugin at the moment, so this feature is limited 
to OPA right now.

Any thoughts on this?
Ralph


Reply via email to