==== Passing environment variables to nodes ==== While some batch schedulers (e.g. Slurm) do some tricks to transparently pass some environment variables from the head node shell to all execution nodes given to ''mpirun'', OAR does not (OAR provides no more than what OpenSSH does, be it used directly as ''ssh'' or through the ''oarsh'' wrapper). Therefore, in order to have more than the default environment variables (''OMPI_*'' variables) passed/set on execution nodes, one can use the ''--mca mca_base_env_list "ENV1;ENV2;ENV3"'' option of ''mpirun'' (or ''-x ENV1 -x ENV2 -x ENV3'' depending on the Openmpi version) . Example: assuming the ''MY_ENV1'' and ''MY_ENV2'' environment variables are defined in the shell calling mpirun, the value of ''MY_ENV1'' and ''MY_ENV2'' will be available on all execution nodes, along with ''MY_ENV3'' set to ''value3'' when calling mpirun as follows: mpirun -machinefile $OAR_NODE_FILE --mca orte_rsh_agent "oarsh" --mca mca_base_env_list "MY_ENV1;MY_ENV2;MY_ENV3=value3" ~/bin/test.sh Settings: orte_rsh_agent="oarsh" mca_base_env_list="MY_ENV1;MY_ENV2;MY_ENV3=value3" can also be set in the ''~/.openmpi/mca-params.conf'' file, so that the command becomes: mpirun -machinefile $OAR_NODE_FILE ~/bin/test.sh This could especially be useful to pass OpenMP variables, such as ''OMP_NUM_THREADS''. More info [https://www.open-mpi.org/doc/v4.0/man1/mpirun.1.php#toc22 in OpenMPI manual pages].