Skip to content

Commit 79e9e61

Browse files
authored
Fix Rocm build issue (#642)
Fix cross-compiling issue. Add `target_compile_options` to make sure the compile option is correct
1 parent 16a96ea commit 79e9e61

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ elseif(MSCCLPP_USE_CUDA)
9191
list(APPEND MSCCLPP_GPU_ARCHS 120)
9292
endif()
9393
elseif(MSCCLPP_USE_ROCM)
94-
set(CMAKE_HIP_ARCHITECTURES gfx90a gfx941 gfx942)
94+
set(MSCCLPP_GPU_ARCHS gfx90a gfx941 gfx942)
9595
endif()
9696

9797
message(STATUS "GPU architectures: ${MSCCLPP_GPU_ARCHS}")
@@ -146,6 +146,9 @@ if(MSCCLPP_USE_CUDA)
146146
target_compile_definitions(mscclpp_obj PRIVATE MSCCLPP_USE_CUDA)
147147
elseif(MSCCLPP_USE_ROCM)
148148
target_compile_definitions(mscclpp_obj PRIVATE MSCCLPP_USE_ROCM)
149+
foreach(arch ${MSCCLPP_GPU_ARCHS})
150+
target_compile_options(mscclpp_obj PRIVATE --offload-arch=${arch})
151+
endforeach()
149152
endif()
150153
if(MSCCLPP_ENABLE_TRACE)
151154
target_compile_definitions(mscclpp_obj PRIVATE MSCCLPP_ENABLE_TRACE)

apps/nccl/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ if(MSCCLPP_USE_CUDA)
1919
target_compile_definitions(mscclpp_nccl_obj PRIVATE MSCCLPP_USE_CUDA)
2020
elseif(MSCCLPP_USE_ROCM)
2121
target_compile_definitions(mscclpp_nccl_obj PRIVATE MSCCLPP_USE_ROCM)
22+
foreach(arch ${MSCCLPP_GPU_ARCHS})
23+
target_compile_options(mscclpp_nccl_obj PRIVATE --offload-arch=${arch})
24+
endforeach()
2225
endif()
2326
if(MSCCLPP_NPKIT_FLAGS)
2427
target_compile_definitions(mscclpp_nccl_obj PRIVATE ${MSCCLPP_NPKIT_FLAGS})

0 commit comments

Comments
 (0)