MPIPreferences.jl
MPIPreferences.jl is a small package used for selecting MPI implementations.
Consts
MPIPreferences.binary
— ConstantMPIPreferences.binary :: String
The currently selected binary. The possible values are
"MPICH_jll"
: use the binary provided by MPICH_jll"OpenMPI_jll"
: use the binary provided by OpenMPI_jll"MicrosoftMPI_jll"
: use binary provided by MicrosoftMPI_jll"MPItrampoline_jll"
: use the binary provided by MPItrampoline_jll"system"
: use a system-provided binary.
MPIPreferences.abi
— ConstantMPIPreferences.abi :: String
The ABI of the currently selected binary. Supported values are:
"MPICH"
: MPICH-compatible ABI (https://www.mpich.org/abi/)"OpenMPI"
: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)"MicrosoftMPI"
: Microsoft MPI"MPItrampoline"
: MPItrampoline"HPE MPT"
: HPE MPT
Changing implementations
MPIPreferences.use_system_binary
— FunctionMPIPreferences.use_system_binary(;
library_names = ["libmpi", "libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"],
mpiexec = "mpiexec",
abi = nothing,
export_prefs = false,
force = true)
Switches the underlying MPI implementation to a system provided one.
Options:
library_names
: a name or collection of names of the MPI library, passed toLibdl.find_library
. If the library isn't in the library search path, you can specify the full path to the library.mpiexec
: the MPI launcher executable. The default ismpiexec
, but some clusters require using the scheduler launcher interface (e.g.srun
on Slurm,aprun
on PBS). It is also possible to pass aCmd
object to include specific command line options.abi
: the ABI of the MPI library. By default this is determined automatically usingidentify_abi
. Seeabi
for currently supported values.export_prefs
: iftrue
, the preferences into theProject.toml
instead ofLocalPreferences.toml
.force
: iftrue
, the preferences are set even if they are already set.
MPIPreferences.use_jll_binary
— FunctionMPIPreferences.use_jll_binary(binary; export_prefs=false, force=true)
Switches the underlying MPI implementation to one provided by JLL packages. Available options are:
"MicrosoftMPI_jll"
(Only option and default on Winddows)"MPICH_jll"
(Default on all other platform)"OpenMPI_jll"
"MPItrampoline_jll"
The export_prefs
option determines whether the preferences being set should be stored within LocalPreferences.toml
or Project.toml
.
Utils
MPIPreferences.identify_abi
— Functionidentify_abi(libmpi)
Identify the MPI implementation from the library version string