MPIPreferences.jl

MPIPreferences.jl is a small package used for selecting MPI implementations.

Consts

MPIPreferences.abiConstant
MPIPreferences.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
source

Changing implementations

MPIPreferences.use_system_binaryFunction
MPIPreferences.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 to Libdl.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 is mpiexec, but some clusters require using the scheduler launcher interface (e.g. srun on Slurm, aprun on PBS). It is also possible to pass a Cmd object to include specific command line options.

  • abi: the ABI of the MPI library. By default this is determined automatically using identify_abi. See abi for currently supported values.

  • export_prefs: if true, the preferences into the Project.toml instead of LocalPreferences.toml.

  • force: if true, the preferences are set even if they are already set.

source
MPIPreferences.use_jll_binaryFunction
MPIPreferences.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.

source

Utils