Installation
The installation process consists of a standard CMake build and installation sequence. The release archive contains pre-generated code (wi4mpi-x.y.z.tar.gz archive, containing the generated code in build/) to simplify the build process. By default, the build process expects this generated sources to be there (WI4MPI_GENERATOR is set to OFF).
tar xf wi4mpi-x.y.z.tar
cd wi4mpi/build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ..
make
make install
If you are building from the Git repository or need to regenerate the code, enable the WI4MPI_GENERATOR option as follows:
git clone https://github.com/cea-hpc/wi4mpi.git
mkdir -p wi4mpi/build
cd wi4mpi/build
cmake -DWI4MPI_GENERATOR=ON \
-DCMAKE_INSTALL_PREFIX=/path/to/install/dir ..
make
make install
CMake Configuration Options
The following CMake variables can be used to configure the build:
WI4MPI_GENERATOR (boolean)
Enables code generation before building.
Default: OFF
WI4MPI_GENERATOR_MPI_NORM (string)
Specifies the MPI standard version for the generated code.
Default: 3.1 Supported versions: 1.0, 1.1, 1.2, 2.0, 2.1, 2.2, 3.0, 3.1, 4.0
WI4MPI_GENERATOR_OPENMPI_VERSION (string)
Specifies the Open MPI header version used during code generation.
Default: 4.1.6 Supported versions: 1.8.8, 2.1.6, 4.1.6, 5.0.3
WI4MPI_GENERATOR_MPICH_VERSION (string)
Specifies the MPICH header version used during code generation.
Default: 3.4.3 Supported versions: 3.1.2, 3.4.3, 4.2.0
WI4MPI_GENERATOR_INTELMPI_VERSION (string)
Specifies the Intel MPI header version used during code generation.
Default: 20.0.0 Supported versions: 20.0.0, 24.0.0
WI4MPI_DEBUG (boolean)
Activates debug information. Useful for WI4MPI and application developers.
Default: OFF
WI4MPI_COMPILER (string, deprecated)
Indicates which compiler is used to compile WI4MPI.
Default: GCC Supported options: GCC, INTEL, PGI, LLVM, ARMCLANG, FUJITSU
This option is deprecated. Use standard CMake compiler detection instead by setting environment variables CC, CXX, and FC, or by using CMAKE_<lang>_COMPILER.
OPENMPI_ROOT (path)
Specifies the Open MPI root directory.
Default: (none)
Optional value, manually added to wi4mpi.cfg. Required for testing.
INTELMPI_ROOT (path)
Specifies the Intel MPI root directory.
Default: (none)
Optional value, manually added to wi4mpi.cfg.
MPC_ROOT (path)
Specifies the MPC root directory.
Default: (none)
Optional value, manually added to wi4mpi.cfg.
MPICH_ROOT (path)
Specifies the MPICH root directory.
Default: (none)
Optional value, manually added to wi4mpi.cfg.
WI4MPI_RELEASE (string)
Indicates the build state of WI4MPI.
Default: NORMAL Supported options:
DEBUG: Adds -DDEBUG to activate debug information.
NORMAL: Adds -g.
RELEASE: Does not add -g.
This option is deprecated. Use standard CMake build types or the WI4MPI_DEBUG option instead:
DEBUG: -DWI4MPI_DEBUG=ON
NORMAL: Default, equivalent to -DCMAKE_BUILD_TYPE=RelWithDebInfo
RELEASE: -DCMAKE_BUILD_TYPE=Release
Both interface and preload versions of WI4MPI are compiled and installed into the CMAKE_INSTALL_PREFIX directory provided during CMake initialization.