-
Notifications
You must be signed in to change notification settings - Fork 146
Closed as not planned
Labels
Description
Describe the bug
The MPI dataplane is not correctly propagated from cmake/DetectOptions.cmake to source/adios2/toolkit/sst/CMakeLists.txt. There are three separate issues:
- The availability of the dataplane is not correctly inferred upon configuring (at least on Frontier). A workaround for this is to replace
if (ADIOS2_HAVE_MPI_CLIENT_SERVER)incmake/DetectOptions.cmakewithif (TRUE). cmake/DetectOptions.cmakesetsADIOS2_HAVE_MPI_DP, butsource/adios2/toolkit/sst/CMakeLists.txttries readingADIOS2_SST_HAVE_MPI(without_DP). Adding a lineset(ADIOS2_SST_HAVE_MPI TRUE)incmake/DetectOptions.cmakeworks around that.source/adios2/toolkit/sst/CMakeLists.txttries reading a variableADIOS2_SST_BUILD_MPI_DPthat is never set.
For building on Frontier with the MPI DP, I currently use:
diff --git a/cmake/DetectOptions.cmake b/cmake/DetectOptions.cmake
index 24e8470b4..a08910a54 100644
--- a/cmake/DetectOptions.cmake
+++ b/cmake/DetectOptions.cmake
@@ -491,8 +491,9 @@ if(ADIOS2_USE_SST AND NOT WIN32)
}]=]
ADIOS2_HAVE_MPI_CLIENT_SERVER)
unset(CMAKE_REQUIRED_LIBRARIES)
- if (ADIOS2_HAVE_MPI_CLIENT_SERVER)
+ if (TRUE)
set(ADIOS2_SST_HAVE_MPI_DP TRUE)
+ set(ADIOS2_SST_HAVE_MPI TRUE)
else()
if ("${ADIOS2_SST_EXPECT_MPI_DP}")
message(FATAL_ERROR "Expected MPI to support Client-server connection model, but test failed.")
diff --git a/source/adios2/toolkit/sst/CMakeLists.txt b/source/adios2/toolkit/sst/CMakeLists.txt
index 4a8252eee..0c13ecc5d 100644
--- a/source/adios2/toolkit/sst/CMakeLists.txt
+++ b/source/adios2/toolkit/sst/CMakeLists.txt
@@ -45,7 +45,7 @@ if(ADIOS2_HAVE_ZFP)
target_link_libraries(sst PRIVATE zfp::zfp)
endif()
-if(ADIOS2_SST_BUILD_MPI_DP)
+if(TRUE)
target_sources(sst PRIVATE dp/mpi_dp.c)
target_link_libraries(sst PRIVATE MPI::MPI_C)
endif()To Reproduce
Try a default build on Frontier. I tried building the branch from #3964 which is currently based upon 51128a1. The current master branch (e524dce) looks like it's also affected.
Expected behavior
Correct propagation of the MPI DP, ideally correct automatic recognition, but that's more difficult and system-dependent.
Desktop (please complete the following information):
- OS/Platform: Frontier
- Build:
/opt/rocm-5.4.3/bin/hipcc, cmake version 3.22.2
Following up
Was the issue fixed? Please report back.