Developer Guide


Setting Environment Variables on a Cluster

By default, when you call the MPI launch command
, the entire launching node environment is passed to the MPI processes. However, if there are undefined variables or variables that are different from what is stored in your environment, you can use
options with
. Each of these options take two arguments- the name and the value of the environment variable to be passed.
-genv NAME1 VALUE1 -genv NAME2 VALUE2
-env NAME VALUE -genv
See these Intel MPI examples on how to set the value of
mpiexec -genv OMP_NUM_THREADS 2 ....
mpiexec -n 1 -host first -env OMP_NUM_THREADS 2 test.exe : -n 2 -host second -env OMP_NUM_THREADS 3 test.exe ....
See these Intel MPI examples on how to set the value of
mpiexec -genv MKL_BLACS_MPI INTELMPI ....
mpiexec -n 1 -host first -env MKL_BLACS_MPI INTELMPI test.exe : -n 1 -host second -env MKL_BLACS_MPI INTELMPI test.exe.
If you want to pass all environment variables by default and avoid passing these values explicitly, modify the user or system environment variables on each Windows node. From the
menu, select
Control Panel
Environment Variables
If you are using Microsoft MPI, the ways of setting environment variables described above are also applicable if the Microsoft Single Program Multiple Data (SPMD) process managers are running in a debug mode on all nodes of the cluster. However, the best way to set environment variables is by using the Job Scheduler with the Microsoft Management Console (MMC) and/or the Command Line Interface (CLI) to submit a job and pass environment variables. For more information about MMC and CLI, see the Microsoft Help and Support page at the Microsoft Web site (

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at