Intel® MPI Library Developer Reference for Linux* OS

ID 768732
Date 11/07/2023
Public

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

Document Table of Contents

GPU Support

This section provides information about the following GPU devices support in Intel® MPI Library:

These features require the Level-Zero* library or CUDA* Library to be installed on the nodes. All environment variables have I_MPI_OFFLOAD_* prefix.

Current support is limited to Intel GPUs and Nvidia* GPUs only.

I_MPI_OFFLOAD

Set this environment variable to enable all GPU features.

Syntax

I_MPI_OFFLOAD=<value>

Arguments

Value Description
0 Disabled. This is the default value.
1 Enabled.

Description

Set this environment variable to enable all GPU features such as GPU pinning and GPU buffers support, which give you ability to distribute devices between MPI ranks and provide a pointer of an offloaded memory to MPI functions.

I_MPI_OFFLOAD_MODE

Select the API for GPU/accelerator offloading.

Syntax

I_MPI_OFFLOAD_PRINT_TOPOLOGY=<value>

Arguments

Value Description
auto Automatically identify GPU backend. This is the default value.
level_zero Use Level-Zero API and library for GPU operations.
cuda Use CUDA Driver API and library for GPU operations.

Description

Set this environment variable to select the API for GPU/accelerator offloading.

I_MPI_OFFLOAD_SYMMETRIC

Enable/disable an assumption that all buffers in an operation have the same type.

Syntax

I_MPI_OFFLOAD_SYMMETRIC=<value>

Arguments

Value Description
0 Disabled. This is the default value.
1 Enabled.

Description

Set this environment variable to enable/disable an assumption that all buffers in an operation have the same type. That is, buffers are allocated on GPU or HOST only.

Setting this variable optimizes device->device communications but disables handling of host->device and device->host cases.

I_MPI_OFFLOAD_LEVEL_ZERO_LIBRARY

Specify the name and full path to the Level-Zero library.

Syntax

I_MPI_OFFLOAD_LEVEL_ZERO_LIBRARY="<path>/<name>"

Arguments

Argument Description
<path> Full path to the Level-Zero library.
<name> Name of the Level-Zero library.

Description

Set this environment variable to specify the name and full path to Level-Zero library. Set this variable if Level-Zero is not located in the default path. Default value: libze_loader.so.

I_MPI_OFFLOAD_CUDA_LIBRARY

Specify the name and full path to the CUDA Driver library.

Arguments

Value Description
<path> Full path to the CUDA Driver library.
<name> Name of the CUDA Driver library.

Description

Set this environment variable to specify the name and full path to CUDA Driver library. Set this variable if CUDA is not located in the default path. Default value: ** libcuda.so.