Intel® MPI Library provides PMI virtualization mechanism. It means that users may utilize third party implementations of the PMI library.
Intel® MPI Library 4.0 Update 1 for Linux*
Running the Application:
To use SLURM's implementation of the PMI library do the following:
• Set the I_MPI_PMI_LIBRARY environment variable to desired PMI library specifying the full path to the libpmi.so library
• Use srun utility to start an application. In this case Intel® MPI Library Process Manager is not used and only Slurm utilities control the job (launch, control, terminate)
Tight integration is reached with a job scheduler if a PMI library integrated with it is used.
Known Issues or Limitations :
• SLURM’s implementation of the PMI library does not provide enough functionality to enable pinning feature of the Intel® MPI Library
• Set the I_MPI_FABRICS environment variable explicitly or set I_MPI_CHECK_DAPL_PROVIDER_MISMATCH=off to make sure that fast fabric will be initialized correctly
$ export I_MPI_PMI_LIBRARY=/full/path/to/slurm/libpmi.so
$ export I_MPI_FABRICS=shm:dapl
$ srun -N <num_nodes> -n <num_processes> ./a.out
This approach was checked with Slurm-1.2.21 on Intel® 64 based system.