Skip to content

Building with MPI using oneAPI 2025.1's Intel MPI Fails #6

@BenBrock

Description

@BenBrock

When building using oneAPI 2025.1's Intel MPI, I get the following failure from CMake:

-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS)
CMake Error at /data/nfs_home/bbrock/pkg/cmake-3.30.1-linux-x86_64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find MPI (missing: MPI_CXX_FOUND CXX)
Call Stack (most recent call first):
  /data/nfs_home/bbrock/pkg/cmake-3.30.1-linux-x86_64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /data/nfs_home/bbrock/pkg/cmake-3.30.1-linux-x86_64/share/cmake-3.30/Modules/FindMPI.cmake:1841 (find_package_handle_standard_args)
  cmake/utils.cmake:121 (find_package)
  CMakeLists.txt:68 (setup_runtime_backends)

This is invoking CMake like such:

CXX=icpx CC=icx cmake .. -DCMAKE_INSTALL_PREFIX=${ISHMEM_INSTALL_DIR} -DCMAKE_BUILD_TYPE=Release -DENABLE_MPI=ON -DMPI_DIR=${MPI_DIR} -DENABLE_OPENSHMEM=ON -DSHMEM_DIR=${SOS_INSTALL_DIR}

Switching to the "C" instead of "CXX" component of MPI in utils.cmake fixes the issue.

I don't believe Intel SHMEM uses any of the deprecated MPI-2 C++ API, so I believe C is the correct component here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions