VTK 9.3.0 MPI Initializing Error Intel Compilers 2024

Dear VTK developers,

we have encountered problems with the MPI InitializeCommunicator calls in VTK 9.3.0 when compiling with the newest Intel compilers (l_HPCKit_p_2024.2.0.635_offline.sh).

The building and installation of VTK worked without errors.

The error appears in the functions this->InitializeCommunicator(vtkMPICommunicator::GetWorldCommunicator()); in line 135 of vtkMPIController.cxx and, respectively, MPI_Comm_set_errhandler(MPI_COMM_WORLD, errhandler); in line 573 of vtkMPICommunicator.cxx.

The result is a complete crash of the program. To reproduce, run test vtkParallelMPICxxTests-MPI No. 1 (MPIController).

We reproduced the problem with various different MPI implementations:

  • Stock MPI, installed through apt, on Ubuntu 22 (Open MPI 4.1.2)
  • The MPI installation that comes with the intel compilers (Intel(R) MPI Library for Linux* OS, Version 2021.13 Build 20240515 (id: df72937))
  • Standalone compilation of Open MPI using the Intel OneAPI compilers (Open MPI 4.0.4)

When compiling using GNU compilers (gcc 12.3.0 + Open MPI 4.1.2 (apt)), everything works fine.

Attached is a excerpt of the CMakeCache.txt, from when we tried to compile with Open MPI 4.0.4, if that is of any help:

BUILD_SHARED_LIBS:BOOL=ON
CMAKE_BUILD_TYPE:STRING=Debug
VTK_GROUP_ENABLE_MPI:STRING=DEFAULT
VTK_USE_MPI:BOOL=ON
CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/oneapi/compiler/2024.2/bin/icpx
CMAKE_C_COMPILER:FILEPATH=/opt/intel/oneapi/compiler/2024.2/bin/icx
MPIEXEC_EXECUTABLE:FILEPATH=<path-to-MPI>/openmpi-4.0.4/install-intel-debug/bin/mpiexec
MPI_C_COMPILER:FILEPATH=<path-to-MPI>/openmpi-4.0.4/install-intel-debug/bin/mpicc
MPI_C_COMPILER_INCLUDE_DIRS:STRING=<path-to-MPI>/openmpi-4.0.4/install-intel-debug/include
MPI_C_HEADER_DIR:PATH=<path-to-MPI>/openmpi-4.0.4/install-intel-debug/include
MPI_C_LINK_FLAGS:STRING=-Wl,-rpath -Wl,<path-to-MPI>/openmpi-4.0.4/install-intel-debug/lib -Wl,--enable-new-dtags
MPI_mpi_LIBRARY:FILEPATH=<path-to-MPI>/openmpi-4.0.4/install-intel-debug/lib/libmpi.so

Any help is appreciated.
Thanks a lot in advance.