Skip to content

Commit fd021f5

Browse files
authored
[openmp] - Changes to support building openmp/offload in LLVM_ENABLE_… (llvm#1257)
…RUNTIMES for ROCm
1 parent 2fcf5a1 commit fd021f5

File tree

3 files changed

+15
-24
lines changed

3 files changed

+15
-24
lines changed

llvm/runtimes/CMakeLists.txt

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -532,41 +532,32 @@ if(build_runtimes)
532532
-DIMAGE_SUPPORT=OFF
533533
-DLLVM_RUNTIME_OPENMP=ON)
534534
set(HSA_DEP rocr-runtime)
535+
endif()
535536

536-
# omptarget device RTL depends on device libs, leading to circular dependency in build scripts.
537-
# Providing path to the sources enables to build them as part of compiler build, which
538-
# removes the ciruclar dependency on the script-side.
539-
if (DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH)
540-
message(STATUS "Add external AMD device-libs: ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}")
537+
# omptarget device RTL depends on device libs, leading to circular dependency in build scripts.
538+
# Providing path to the sources enables to build them as part of compiler build, which
539+
# removes the ciruclar dependency on the script-side.
540+
if (DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH)
541+
message(STATUS "Add external AMD device-libs: ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}")
542+
if (NOT ${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH} STREQUAL "")
541543
ExternalProject_Add(rocm-device-libs
542544
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
543545
DEPENDS clang llvm-link lld opt llvm-objcopy
544546
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH}
545547
-DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake
546548
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC}
547549
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn)
550+
else()
551+
ExternalProject_Add(rocm-device-libs
552+
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
553+
DEPENDS clang llvm-link lld opt llvm-objcopy
554+
INSTALL_COMMAND ""
555+
CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake
556+
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC}
557+
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn)
548558
endif()
549559
endif()
550560

551-
if(DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_HSA_PATH AND
552-
DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH AND
553-
DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH)
554-
ExternalProject_Add(roct
555-
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH}
556-
DEPENDS clang llvm-link lld opt llvm-objcopy
557-
INSTALL_COMMAND ""
558-
CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake)
559-
ExternalProject_Add(rocr-runtime
560-
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_HSA_PATH}
561-
DEPENDS clang llvm-link lld opt llvm-objcopy roct
562-
INSTALL_COMMAND ""
563-
CMAKE_ARGS -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake -DIMAGE_SUPPORT=OFF -DLLVM_RUNTIME_OPENMP=ON -DHSAKMT_SRC_PATH=${LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH})
564-
set(HSA_DEP rocr-runtime)
565-
ExternalProject_Add(rocm-device-libs
566-
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
567-
DEPENDS clang llvm-link lld opt llvm-objcopy
568-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH} -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC} -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn)
569-
endif()
570561
if("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD)
571562
set(AMDGPU_ARCH_DEP amdgpu-arch)
572563
endif()

offload/EnableOffloadRuntime

Whitespace-only changes.

openmp/EnableOpenmpRuntime

Whitespace-only changes.

0 commit comments

Comments
 (0)