Added option to build only tests and link to an external rocshmem library (#43)

* Rearrange CMakefile

* Enable linking to external rocshmem library

* Minor fix for the functional test driver

* ROCSHMEM_HOME detection fixed
このコミットが含まれているのは:
Yiltan
2025-03-13 15:49:50 -04:00
committed by GitHub
コミット 96424a59a8
7個のファイルの変更321行の追加191行の削除
+49 -12
ファイルの表示
@@ -102,19 +102,56 @@ target_sources(
###############################################################################
find_package(hip REQUIRED)
target_include_directories(
${PROJECT_NAME}
PRIVATE
roc::rocshmem
)
if (BUILD_TESTS_ONLY)
find_package(MPI REQUIRED)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
roc::rocshmem
hip::host
-fgpu-rdc
)
target_include_directories(
${PROJECT_NAME}
PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${ROCSHMEM_HOME}/include>
$<BUILD_INTERFACE:${MPI_CXX_HEADER_DIR}>
)
foreach (target ${DEFAULT_GPUS})
list(APPEND static_link_flags --offload-arch=${target})
endforeach()
list(JOIN static_link_flags " " flags_str)
target_compile_options(
${PROJECT_NAME}
PRIVATE
${flags_str}
-fgpu-rdc
)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
${MPI_mpi_LIBRARY}
${MPI_mpicxx_LIBRARY}
-L${ROCSHMEM_HOME}/lib
-lamdhip64
-lhsa-runtime64
-lrocshmem
-fgpu-rdc
)
else()
target_include_directories(
${PROJECT_NAME}
PRIVATE
roc::rocshmem
)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
roc::rocshmem
hip::host
-fgpu-rdc
)
endif()
###############################################################################
# GTEST DEPENDENCY