Skip to content

Commit

Permalink
Adapt libfabric dataplane of SST to Cray CXI provider (#3672)
Browse files Browse the repository at this point in the history
* Support detection of CXI in CMake

* Extended error detection in libfabric dataplane

* Support for FI_MR_ENDPOINT

* Support for FI_MR_VIRT_ADDR == 0

* Full support for CXI provider

* clang-format fixes

* Fix behavior when using FI_MR_BASIC

FI_MR_BASIC is special and mode bits cannot be compared against it.
  • Loading branch information
franzpoeschel committed Dec 6, 2023
1 parent d8a70b3 commit 42e062b
Show file tree
Hide file tree
Showing 4 changed files with 635 additions and 62 deletions.
8 changes: 8 additions & 0 deletions cmake/DetectOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,14 @@ if(ADIOS2_USE_SST AND NOT WIN32)
if(CrayDRC_FOUND)
set(ADIOS2_SST_HAVE_CRAY_DRC TRUE)
endif()

try_compile(ADIOS2_SST_HAVE_CRAY_CXI
${ADIOS2_BINARY_DIR}/check_libfabric_cxi
${ADIOS2_SOURCE_DIR}/cmake/check_libfabric_cxi.c
CMAKE_FLAGS
"-DINCLUDE_DIRECTORIES=${LIBFABRIC_INCLUDE_DIRS}"
"-DLINK_DIRECTORIES=${LIBFABRIC_LIBRARIES}")
message(STATUS "Libfabric support for the HPE CXI provider: ${ADIOS2_SST_HAVE_CRAY_CXI}")
endif()
if(ADIOS2_HAVE_MPI)
set(CMAKE_REQUIRED_LIBRARIES "MPI::MPI_C;Threads::Threads")
Expand Down
5 changes: 5 additions & 0 deletions cmake/check_libfabric_cxi.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include <stdbool.h>
#include <rdma/fabric.h>
#include <rdma/fi_cxi_ext.h>

int main() {}
1 change: 1 addition & 0 deletions source/adios2/toolkit/sst/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ set(SST_CONFIG_OPTS
UCX
FI_GNI
CRAY_DRC
CRAY_CXI
NVStream
MPI
)
Expand Down

0 comments on commit 42e062b

Please sign in to comment.