If you are having Errors like the one below. I was trying to use Intel-MPI and MPIEXECJL and I was having this error. I realised that I was getting a bit mixed up on using Intel MPI mpiexec and using mpiexecjl. In the first instance, we use “mpiexecjl”
In my subscription script, we have
....
....
export CC=`which mpicc`
export FC=`which mpif90`
julia --project -e 'ENV["JULIA_MPI_PATH"]="/usr/local/intel/2018u3/impi/2018.3.222/intel64/bin"; using Pkg; Pkg.build("MPI"; verbose=true)'
mpiexecjl -n 16 julia --project HelloWorld.jl
....
....
During the run, we have the following logs……
....
....
+ julia --project -e 'ENV["JULIA_MPI_PATH"]="/usr/local/intel/2018u3/impi/2018.3.222/intel64/bin"; using Pkg; Pkg.build("MPI"; verbose=true)'
[ Info: using system MPI
┌ Info: Using implementation
│ libmpi = "libmpi"
│ mpiexec_cmd = `/usr/local/intel/2018u3/impi/2018.3.222/intel64/bin/bin/mpiexec`
└ MPI_LIBRARY_VERSION_STRING = "Intel(R) MPI Library 2018 Update 3 for Linux* OS\n"
┌ Info: MPI implementation detected
│ impl = IntelMPI::MPIImpl = 4
│ version = v"2018.3.0"
└ abi = "MPICH"
Building MPI → `~/.julia/packages/MPI/b7MVG/deps/build.log`
+ date
+ mpiexecjl -n 16 julia --project HelloWorld.jl
ERROR: IOError: could not spawn `/usr/local/intel/2018u3/impi/2018.3.222/intel64/bin/bin/mpiexec -n 16 julia HelloWorld.jl`: no such file or directory (ENOENT)
....
....
Just directly using the mpiexec will solve the issue.
mpiexec -n 16 julia --project HelloWorld.jl
If you use mpiexec and yet face issues like. It may not be exactly the issue with mpiexec, but issues with missing Package (as in my case)
[mpiexec@node1] match_arg (../../utils/args/args.c:254): unrecognized argument project [mpiexec@node1] HYDU_parse_array (../../utils/args/args.c:269): argument matching returned error [mpiexec@node1] parse_args (../../ui/mpich/utils.c:4770): error parsing input array [mpiexec@node1] HYD_uii_mpx_get_parameters (../../ui/mpich/utils.c:5106): unable to parse user arguments
To add Packages, get into Julia. For example,
julia > using Pkg
julia > Pkg.add("SharedArrays")

Super helpful. Probably saved me three days banging my head on the cluster…
LikeLike