Skip to content

Commit 620726c

Browse files
vchuravysloede
andauthored
Apply suggestions from code review
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
1 parent 0557fcb commit 620726c

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

docs/src/configuration.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,24 @@ $ mpiexecjl --project=/path/to/project -n 20 julia script.jl
5252

5353
MPI.jl uses [Preferences.jl](https://github.com/JuliaPackaging/Preferences.jl) to
5454
allow the user to choose which MPI implementation to use for a project. This provides
55-
a single source of truth that can be used for `JLL` (Julia packages providing C libraries)
56-
that link against MPI, as well as localizing the choice of MPI implementation to a project.
55+
a single source of truth that can be used for JLL packages (Julia packages providing C libraries)
56+
that link against MPI, localizes the choice of MPI implementation to a project.
5757

5858
Users can use the provided [`use_system_binary`](@ref) or [`use_jll_binary`](@ref)
59-
to switch MPI implementations.
59+
to switch MPI implementations. By default, the JLL-provided binaries are used.
6060

6161
### Migration from MPI.jl `v0.19`
6262

6363
Prior to MPI.jl `v0.20` environment variables were used to configure which MPI
64-
library to use. These have now been removed.
64+
library to use. These have now been removed and have no effect anymore:
6565

6666
- `JULIA_MPI_BINARY`
6767
- `JULIA_MPIEXEC`
6868
- `JULIA_MPI_INCLUDE_PATH`
6969
- `JULIA_MPI_CFLAGS`
7070
- `JULIA_MPICC`
7171

72-
### Using a system-provided MPI
72+
### Using a system-provided MPI backend
7373

7474
#### Requirements
7575

@@ -78,7 +78,7 @@ standard or later.
7878

7979
### Configuration
8080

81-
To use the the system MPI, run `MPI.use_system_binary()`.
81+
To use the system MPI library, run `MPI.use_system_binary()`.
8282
This will attempt find and identify any available MPI implementation, and create
8383
a file called `LocalPreferences.toml` adjacent to the current `Project.toml`.
8484

@@ -94,7 +94,7 @@ julia --project -e 'using MPI; MPI.use_system_binary()'
9494

9595
The MPI standard doesn't specify the exact application binary interface (ABI).
9696

97-
The following implementations should work:
97+
The following MPI implementations should work out-of-the-box with MPI.jl:
9898

9999
- [Open MPI](http://www.open-mpi.org/)
100100
- [MPICH](http://www.mpich.org/) (v3.1 or later)
@@ -116,12 +116,12 @@ but also open an issue so that the auto-detection can be improved. `export_prefs
116116

117117
#### Notes to HPC cluster adminstators
118118

119-
Preferences are merged across the Julia load path, so it is feasible to provide a module file that appends a path to
120-
`JULIA_LOAD_PATH` variable that contains system wide preferences.
119+
Preferences are merged across the Julia load path, such that it is feasible to provide a module file that appends a path to
120+
`JULIA_LOAD_PATH` variable that contains system-wide preferences.
121121

122122
As an example you can use [`MPI.use_system_binary(;export_prefs)`](@ref) to create a file `Project.toml` containing:
123123

124-
```
124+
```toml
125125
[extras]
126126
MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267"
127127

@@ -131,18 +131,20 @@ binary = "system"
131131
libmpi = "/software/mpi/lib/libmpi.so"
132132
mpiexec = "/software/mpi/bin/mpiexec"
133133
```
134-
copying that to a central location like: `/software/mpi/julia` and setting `JULIA_LOAD_PATH=":/software/mpi/julia"` (note the `:` before the path) in the coressponding module file (preferrably the MPI installation, or the Julia module)
135-
, will cause the user to default to your cluster MPI installation.
134+
Copying this `Project.toml` to a central location such as `/software/mpi/julia` and setting the environment
135+
variable `JULIA_LOAD_PATH=":/software/mpi/julia"` (note the `:` before the path) in the corresponding
136+
module file (preferably the module file for the MPI installation or for Julia),
137+
will cause the user to default to your cluster MPI installation.
136138

137-
The user can still create a differing per Julia project that
138-
will take precedent.
139+
The user can still provide differing MPI configurations for each Julia project that
140+
will take precedent by modifying the local `Project.toml` or by providing a `LocalPreferences.toml` file.
139141

140142
### Using a different JLL provided MPI library
141143

142-
The following JLL implementations are provided:
144+
The following MPI implementations are provided as JLL packages and automatically obtained when installing MPI.jl:
143145

144146
- `MicrosoftMPI_jll`: Default for Windows
145-
- `MPICH_jll`: Default on all Unix systems
147+
- `MPICH_jll`: Default for all Unix-like systems
146148
- [`MPItrampoline_jll`](https://github.com/eschnett/MPItrampoline): Binaries built against MPItrampoline can be efficiently retargetted to a system MPI implementation.
147149
- `OpenMPI_jll`
148150

0 commit comments

Comments
 (0)