Intel® MPI Library Developer Guide for Windows* OS

ID 768730
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Job Schedulers Support

The Intel® MPI Library supports the majority of commonly used job schedulers in the HPC field.

The following job schedulers are supported on Windows* OS:

  • Microsoft HPC Pack*
  • Altair PBS Pro*

Microsoft HPC Pack*

The Intel MPI Library job startup command mpiexec can be called out of Microsoft HPC Job Scheduler to execute an MPI application. In this case, the mpiexec command automatically inherits the host list, process count, and the working directory allocated to the job.

Use the following command to submit an MPI job:

> job submit /numprocessors:4 /stdout:test.out mpiexec -delegate test.exe

Make sure the mpiexec and dynamic libraries are available in PATH.

Altair* PBS Pro*

The Intel MPI Library job startup command mpiexec can be called out of PBS Pro job scheduler to execute an MPI application. In this case, the mpiexec command automatically inherits the host list, process count allocated to the job if they were not specified manually by the user. mpiexec reads %PBS_NODEFILE% environment variable to count a number of processes and uses it as a machine file.

Example of a job script contents:

REM PBS -l nodes=4:ppn=2
REM PBS -l walltime=1:00:00
cd %PBS_O_WORKDIR%
mpiexec test.exe

Use the following command to submit the job:

> qsub -C "REM PBS" job

mpiexec will run two processes on each of four nodes for this job.

Controlling Per-Host Process Placement

When using a job scheduler, by default the Intel MPI Library uses per-host process placement provided by the scheduler. This means that the -ppn option has no effect. To change this behavior and control process placement through -ppn (and related options and variables), use the I_MPI_JOB_RESPECT_PROCESS_PLACEMENT environment variable:

> set I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=off