I’ve just tagged MPI.jl 0.14: the major change in this release is that it will now use a BinaryBuilder-provided MPI binary (Microsoft MPI on Windows, MPICH on other platforms).
If you are running on a HPC system you will probably want to use the system-provided binary, see Configuration · MPI.jl for details.
Trying to build MPI.jl against the system MPI via the instructions you linked above, I encounter the error:
[ Info: using system MPI
┌ Info: Using implementation
│ libmpi = "/glade/u/apps/ch/opt/mpt/2.22/lib/libmpi"
└ mpiexec_cmd = `/glade/u/apps/ch/opt/mpt/2.22/bin/mpiexec`
┌ Info: MPI implementation config
└ abi = "MPICH"
ERROR: MethodError: no method matching adjoint(::Nothing)
Closest candidates are:
adjoint(::Missing) at missing.jl:100
adjoint(::Number) at number.jl:169
adjoint(::LinearAlgebra.Adjoint) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/LinearAlgebra/src/adjtrans.jl:164
Any thoughts on what might be happening here? I would really like to evaluate MPI.jl vs more traditional C++/Fortran + MPI on our HPC cluster, but so far I cannot get MPI.jl to build and use the IB network.
It looks like you have a single apostrophe (') inserted somewhere, which it is interpreting as an adjoint. After what you have above it should print a stacktrace. e.g. if I do:
julia> Pkg.build("MPI")' # incorrect apostrophe
Building MPI → `~/src/MPI.jl/deps/build.log`
ERROR: MethodError: no method matching adjoint(::Nothing)
Closest candidates are:
adjoint(::Missing) at missing.jl:100
adjoint(::Number) at number.jl:169
adjoint(::LinearAlgebra.Adjoint) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/LinearAlgebra/src/adjtrans.jl:164
...
Stacktrace:
[1] top-level scope at REPL[4]:1