@@ -16,10 +16,11 @@ const DEPS_LOADED = Ref(false)
1616
1717The currently selected binary. The possible values are
1818
19+ - `"MPIABI_jll"`: use the binary provided by [MPIABI_jll](https://github.com/JuliaBinaryWrappers/MPIABI_jll.jl)
1920- `"MPICH_jll"`: use the binary provided by [MPICH_jll](https://github.com/JuliaBinaryWrappers/MPICH_jll.jl)
20- - `"OpenMPI_jll"`: use the binary provided by [OpenMPI_jll](https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl)
21- - `"MicrosoftMPI_jll"`: use binary provided by [MicrosoftMPI_jll](https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/)
2221- `"MPItrampoline_jll"`: use the binary provided by [MPItrampoline_jll](https://github.com/JuliaBinaryWrappers/MPItrampoline_jll.jl/)
22+ - `"MicrosoftMPI_jll"`: use binary provided by [MicrosoftMPI_jll](https://github.com/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/)
23+ - `"OpenMPI_jll"`: use the binary provided by [OpenMPI_jll](https://github.com/JuliaBinaryWrappers/OpenMPI_jll.jl)
2324- `"system"`: use a system-provided binary.
2425
2526"""
@@ -30,22 +31,24 @@ const binary = @load_preference("binary", Sys.iswindows() ? "MicrosoftMPI_jll" :
3031
3132The ABI (application binary interface) of the currently selected binary. Supported values are:
3233
34+ - `"MPIABI"`: MPI-ABI-compatible ABI (https://www.mpi-form.org/)
3335- `"MPICH"`: MPICH-compatible ABI (https://www.mpich.org/abi/)
34- - `"OpenMPI"`: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)
35- - `"MicrosoftMPI"`: Microsoft MPI
3636- `"MPItrampoline"`: MPItrampoline
37- - `"HPE MPT"`: HPE MPT
37+ - `"MicrosoftMPI"`: Microsoft MPI
38+ - `"OpenMPI"`: Open MPI compatible ABI (Open MPI, IBM Spectrum MPI, Fujitsu MPI)
3839"""
3940const abi = if binary == " system"
4041 @load_preference (" abi" )
41- elseif binary == " MicrosoftMPI_jll "
42- " MicrosoftMPI "
42+ elseif binary == " MPIABI_jll "
43+ " MPIABI "
4344elseif binary == " MPICH_jll"
4445 " MPICH"
45- elseif binary == " OpenMPI_jll"
46- " OpenMPI"
4746elseif binary == " MPItrampoline_jll"
4847 " MPItrampoline"
48+ elseif binary == " MicrosoftMPI_jll"
49+ " MicrosoftMPI"
50+ elseif binary == " OpenMPI_jll"
51+ " OpenMPI"
4952else
5053 error (" Unknown binary: $binary " )
5154end
@@ -66,16 +69,17 @@ Switches the underlying MPI implementation to one provided by JLL packages. A
6669restart of Julia is required for the changes to take effect.
6770
6871Available options are:
69- - `"MicrosoftMPI_jll"` (Only option and default on Windows)
72+ - `"MPIABI_jll"`
7073- `"MPICH_jll"` (Default on all other platform)
71- - `"OpenMPI_jll"`
7274- `"MPItrampoline_jll"`
75+ - `"MicrosoftMPI_jll"` (Only option and default on Windows)
76+ - `"OpenMPI_jll"`
7377
7478The `export_prefs` option determines whether the preferences being set should be
7579stored within `LocalPreferences.toml` or `Project.toml`.
7680"""
7781function use_jll_binary (binary = Sys. iswindows () ? " MicrosoftMPI_jll" : " MPICH_jll" ; export_prefs= false , force= true )
78- known_binaries = (" MicrosoftMPI_jll " , " MPICH_jll" , " OpenMPI_jll " , " MPItrampoline_jll" )
82+ known_binaries = (" MPIABI_jll " , " MPICH_jll" , " MicrosoftMPI_jll " , " MPItrampoline_jll" , " OpenMPI_jll " )
7983 binary in known_binaries ||
8084 error ("""
8185 Unknown jll: $binary .
118122
119123"""
120124 use_system_binary(;
121- library_names = ["libmpi", "libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"],
125+ library_names = ["libmpi", "libmpi_abi", " libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"],
122126 extra_paths = String[],
123127 mpiexec = "mpiexec",
124128 abi = nothing,
@@ -162,7 +166,7 @@ Options:
162166- `force`: if `true`, the preferences are set even if they are already set.
163167"""
164168function use_system_binary (;
165- library_names= [" libmpi" , " libmpi_ibm" , " msmpi" , " libmpich" , " libmpi_cray" , " libmpitrampoline" ],
169+ library_names= [" libmpi" , " libmpi_abi " , " libmpi_ibm" , " msmpi" , " libmpich" , " libmpi_cray" , " libmpitrampoline" ],
166170 extra_paths= String[],
167171 mpiexec= " mpiexec" ,
168172 abi= nothing ,
0 commit comments