Skip to content

Commit

Permalink
Test cuda support with oob_rdma
Browse files Browse the repository at this point in the history
  • Loading branch information
songweijia committed Apr 4, 2024
1 parent c106798 commit 8b4451c
Show file tree
Hide file tree
Showing 4 changed files with 334 additions and 61 deletions.
5 changes: 5 additions & 0 deletions include/derecho/core/detail/group_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,11 @@ void Group<ReplicatedTypes...>::register_oob_memory(void* addr, size_t size) {
sst::P2PConnection::register_oob_memory_ex(addr, size, attr);
}

template <typename... ReplicatedTypes>
void Group<ReplicatedTypes...>::register_oob_memory_ex(void* addr, size_t size, const memory_attribute_t& attr) {
sst::P2PConnection::register_oob_memory_ex(addr, size, attr);
}

template <typename... ReplicatedTypes>
uint64_t Group<ReplicatedTypes...>::get_oob_memory_key(void* addr) {
return sst::P2PConnection::get_oob_memory_key(addr);
Expand Down
29 changes: 29 additions & 0 deletions src/applications/demos/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,29 @@
cmake_minimum_required(VERSION 3.15.4)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
include(CheckLanguage)
check_language(CUDA)

if (CMAKE_CUDA_COMPILER)
enable_language(CUDA)
find_package(CUDAToolkit)
set (CUDA_FOUND 1)

if (NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()

if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
execute_process(COMMAND bash -c "nvidia-smi --query-gpu=compute_cap --format=csv,noheader,nounits | sed 's/\\.//' | head -1"
OUTPUT_VARIABLE NATIVE_CUDA_ARCH)
string(STRIP ${NATIVE_CUDA_ARCH} NATIVE_CUDA_ARCH)
set(CMAKE_CUDA_ARCHITECTURES ${NATIVE_CUDA_ARCH})
message("NATIVE_CUDA_ARCH=${NATIVE_CUDA_ARCH}")
endif()
endif()

CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/oob_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/oob_config.h)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/include)
Expand All @@ -20,11 +43,17 @@ target_link_libraries(simple_replicated_objects_json derecho)
add_executable(simple_replicated_objects_overlap simple_replicated_objects_overlap.cpp)
target_link_libraries(simple_replicated_objects_overlap derecho)

# signed store mockup test
add_executable(signed_store_mockup signed_store_mockup.cpp)
target_link_libraries(signed_store_mockup derecho)

# out-of-band RDMA test
add_executable(oob_rdma oob_rdma.cpp)
target_include_directories(oob_rdma PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(oob_rdma derecho)
if (CUDA_FOUND)
target_link_libraries(oob_rdma CUDA::cuda_driver)
endif()
add_custom_command(TARGET oob_rdma POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/oob_rdma_cfgs
${CMAKE_CURRENT_BINARY_DIR}/oob_rdma_cfgs
Expand Down
1 change: 1 addition & 0 deletions src/applications/demos/oob_config.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#cmakedefine CUDA_FOUND

0 comments on commit 8b4451c

Please sign in to comment.