Question about MPICH (presumably from MPI_jll)

My running MPI program reports MPICH 4.2.3.

┌ Info: MPICH Version:      4.2.3
│ MPICH Release date: Wed Oct  2 09:35:21 AM CDT 2024
│ MPICH ABI:          16:3:4
│ MPICH Device:       ch3:nemesis
│ MPICH configure:    --prefix=/workspace/destdir --build=x86_64-linux-musl --host=aarch64-linux-gnu --disable-dependency-tracking --disable-doc --enable-fast=all,O3 --enable-static=no --with-device=ch3 --with-hwloc=/workspace/destdir
│ MPICH CC:           cc    -DNDEBUG -DNVALGRIND -O3
│ MPICH CXX:          c++   -DNDEBUG -DNVALGRIND -O3
│ MPICH F77:          gfortran   -O3
│ MPICH FC:           gfortran   -O3
└ MPICH features:

However, when I search for mpich version in the Julia artifacts I find:

[pkrysl@fj071 examples]$ grep -r mpichversion ~/a64fx/depot/artifacts/
Binary file /lustre/home/pkrysl/a64fx/depot/artifacts/13af0a3a64ed63138b1b666b2684607c546477ea/bin/mpichversion matches
Binary file /lustre/home/pkrysl/a64fx/depot/artifacts/7ed55ca6951d78a7b5500a1237c9ef15fe287bc5/bin/mpichversion matches
[pkrysl@fj071 examples]$ /lustre/home/pkrysl/a64fx/depot/artifacts/13af0a3a64ed63138b1b666b2684607c546477ea/bin/mpichversion
MPICH Version:      4.1.1
MPICH Release date: Mon Mar  6 14:14:15 CST 2023
MPICH ABI:          15:0:3
MPICH Device:       ch4:ucx
MPICH configure:    --prefix=/lustre/software/mpich/gcc12.2/4.1.1 --with-ucx=/lustre/software/ucx/1.13.0 --with-hwloc=/lustre/software/hwloc/2.8.0 --with-xpmem=/opt/xpmem --with-hcoll=/opt/mellanox/hcoll --with-device=ch4:ucx
MPICH CC:           gcc    -O2
MPICH CXX:          g++   -O2
MPICH F77:          gfortran   -O2
MPICH FC:           gfortran   -O2

[pkrysl@fj071 examples]$  /lustre/home/pkrysl/a64fx/depot/artifacts/7ed55ca6951d78a7b5500a1237c9ef15fe287bc5/bin/mpichversion
MPICH Version:      4.1.1
MPICH Release date: Mon Mar  6 14:14:15 CST 2023
MPICH ABI:          15:0:3
MPICH Device:       ch4:ucx
MPICH configure:    --prefix=/lustre/software/mpich/gcc12.2/4.1.1 --with-ucx=/lustre/software/ucx/1.13.0 --with-hwloc=/lustre/software/hwloc/2.8.0 --with-xpmem=/opt/xpmem --with-hcoll=/opt/mellanox/hcoll --with-device=ch4:ucx
MPICH CC:           gcc    -O2
MPICH CXX:          g++   -O2
MPICH F77:          gfortran   -O2
MPICH FC:           gfortran   -O2

[pkrysl@fj071 examples]$

These are both 4.1.1, not 4.2.3. MPI_jll site also speaks of 4.2.3. How does this work!?

Is your first snippet actually using the artifacts from the second snippet?

That’s what I don’t know. Somehow mpiexejl picks up the mpich 4.2.3…

This is what MPI.versioninfo reports:

MPIPreferences:
  binary:  MPICH_jll
  abi:     MPICH

Package versions
  MPI.jl:             0.20.22
  MPIPreferences.jl:  0.1.11
  MPICH_jll:          4.2.3+0

Library information:
  libmpi:  /lustre/home/pkrysl/a64fx/depot/artifacts/7ed55ca6951d78a7b5500a1237
c9ef15fe287bc5/lib/libmpi.so
  libmpi dlpath:  /lustre/home/pkrysl/a64fx/depot/artifacts/7ed55ca6951d78a7b5500a1237c9ef15fe287bc5/lib/libmpi.so
  MPI version:  4.1.0
  Library version:
    MPICH Version:      4.2.3
    MPICH Release date: Wed Oct  2 09:35:21 AM CDT 2024
    MPICH ABI:          16:3:4
    MPICH Device:       ch3:nemesis
    MPICH configure:    --prefix=/workspace/destdir --build=x86_64-linux-musl --host=aarch64-linux-gnu --disable-dependency-tracking --disable-doc --enable-fast=all,O3 --enable-static=no --with-device=ch3 --with-hwloc=/workspace/destdir
    MPICH CC:           cc    -DNDEBUG -DNVALGRIND -O3
    MPICH CXX:          c++   -DNDEBUG -DNVALGRIND -O3
    MPICH F77:          gfortran   -O3
    MPICH FC:           gfortran   -O3
    MPICH features: