[Openmp-commits] [openmp] 84d0243 - [Libomptarget] Clean up CUDA plugin CMake files
Joseph Huber via Openmp-commits
openmp-commits at lists.llvm.org
Wed Jan 25 11:58:13 PST 2023
Author: Joseph Huber
Date: 2023-01-25T13:58:02-06:00
New Revision: 84d0243d215ee6fddc72675a73e273eb40b172a6
URL: https://github.com/llvm/llvm-project/commit/84d0243d215ee6fddc72675a73e273eb40b172a6
DIFF: https://github.com/llvm/llvm-project/commit/84d0243d215ee6fddc72675a73e273eb40b172a6.diff
LOG: [Libomptarget] Clean up CUDA plugin CMake files
Clean up this file after changing it in D142568.
Depends on D142568
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D142573
Added:
Modified:
openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
openmp/libomptarget/plugins/cuda/CMakeLists.txt
Removed:
################################################################################
diff --git a/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt b/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
index 90471a92a3b9..5706590a174a 100644
--- a/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
+++ b/openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
@@ -23,76 +23,45 @@ endif()
libomptarget_say("Building CUDA NextGen offloading plugin.")
-# Define the suffix for the runtime messaging dumps.
-add_definitions("-DTARGET_NAME=CUDA")
-
-# Define debug prefix. TODO: This should be automatized in the Debug.h but it
-# requires changing the original plugins.
-add_definitions(-DDEBUG_PREFIX="TARGET CUDA RTL")
-
set(LIBOMPTARGET_DLOPEN_LIBCUDA OFF)
option(LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA "Build with dlopened libcuda" ${LIBOMPTARGET_DLOPEN_LIBCUDA})
-set(LIBOMPTARGET_CAN_LINK_LIBCUDA FALSE)
-if (LIBOMPTARGET_DEP_CUDA_FOUND)
- set(LIBOMPTARGET_CAN_LINK_LIBCUDA TRUE)
-endif()
+add_llvm_library(omptarget.rtl.cuda.nextgen SHARED
+ src/rtl.cpp
-if (LIBOMPTARGET_CAN_LINK_LIBCUDA AND NOT LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA)
- libomptarget_say("Building CUDA NextGen plugin linked against libcuda")
- include_directories(${LIBOMPTARGET_DEP_CUDA_INCLUDE_DIRS})
- add_llvm_library(omptarget.rtl.cuda.nextgen SHARED
+ LINK_COMPONENTS
+ Support
+ Object
- src/rtl.cpp
+ LINK_LIBS PRIVATE
+ elf_common
+ MemoryManager
+ PluginInterface
+ ${OPENMP_PTHREAD_LIB}
+ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports,-z,defs"
- ADDITIONAL_HEADER_DIRS
- ${LIBOMPTARGET_INCLUDE_DIR}
-
- LINK_LIBS
- PRIVATE
- elf_common
- MemoryManager
- PluginInterface
- CUDA::cuda_driver
- ${OPENMP_PTHREAD_LIB}
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
- "-Wl,-z,defs"
+ NO_INSTALL_RPATH
+)
- NO_INSTALL_RPATH
- )
+if(LIBOMPTARGET_DEP_CUDA_FOUND AND NOT LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA)
+ libomptarget_say("Building CUDA plugin linked against libcuda")
+ target_link_libraries(omptarget.rtl.cuda.nextgen PRIVATE CUDA::cuda_driver)
else()
- libomptarget_say("Building CUDA NextGen plugin for dlopened libcuda")
- include_directories(../../plugins/cuda/dynamic_cuda)
- add_llvm_library(omptarget.rtl.cuda.nextgen
- SHARED
-
- src/rtl.cpp
- ../../plugins/cuda/dynamic_cuda/cuda.cpp
-
- ADDITIONAL_HEADER_DIRS
- ${LIBOMPTARGET_INCLUDE_DIR}
-
- LINK_LIBS
- PRIVATE
- elf_common
- MemoryManager
- PluginInterface
- ${CMAKE_DL_LIBS}
- ${OPENMP_PTHREAD_LIB}
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
- "-Wl,-z,defs"
-
- NO_INSTALL_RPATH
- )
+ libomptarget_say("Building CUDA plugin for dlopened libcuda")
+ target_include_directories(omptarget.rtl.cuda.nextgen PRIVATE dynamic_cuda)
+ target_sources(omptarget.rtl.cuda.nextgen PRIVATE dynamic_cuda/cuda.cpp)
endif()
add_dependencies(omptarget.rtl.cuda.nextgen omptarget.devicertl.nvptx)
+# Define debug prefix. TODO: This should be automatized in the Debug.h but it
+# requires changing the original plugins.
+target_compile_definitions(omptarget.rtl.cuda.nextgen PRIVATE TARGET_NAME="CUDA")
+target_compile_definitions(omptarget.rtl.cuda.nextgen PRIVATE DEBUG_PREFIX="TARGET CUDA RTL")
+
+target_include_directories(omptarget.rtl.cuda.nextgen PRIVATE ${LIBOMPTARGET_INCLUDE_DIR})
+
# Install plugin under the lib destination folder.
install(TARGETS omptarget.rtl.cuda.nextgen LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
set_target_properties(omptarget.rtl.cuda.nextgen PROPERTIES
INSTALL_RPATH "$ORIGIN" BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/.."
CXX_VISIBILITY_PRESET protected)
-
-target_include_directories(omptarget.rtl.cuda.nextgen PRIVATE
- ${LIBOMPTARGET_INCLUDE_DIR}
-)
diff --git a/openmp/libomptarget/plugins/cuda/CMakeLists.txt b/openmp/libomptarget/plugins/cuda/CMakeLists.txt
index c92f22f07644..a16cdbe87c2a 100644
--- a/openmp/libomptarget/plugins/cuda/CMakeLists.txt
+++ b/openmp/libomptarget/plugins/cuda/CMakeLists.txt
@@ -23,76 +23,45 @@ endif()
libomptarget_say("Building CUDA offloading plugin.")
-# Define the suffix for the runtime messaging dumps.
-add_definitions(-DTARGET_NAME=CUDA)
-
set(LIBOMPTARGET_DLOPEN_LIBCUDA OFF)
option(LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA "Build with dlopened libcuda" ${LIBOMPTARGET_DLOPEN_LIBCUDA})
-set(LIBOMPTARGET_CAN_LINK_LIBCUDA FALSE)
-if (LIBOMPTARGET_DEP_CUDA_FOUND)
- set(LIBOMPTARGET_CAN_LINK_LIBCUDA TRUE)
-endif()
-
-if (LIBOMPTARGET_CAN_LINK_LIBCUDA AND NOT LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA)
- libomptarget_say("Building CUDA plugin linked against libcuda")
- add_llvm_library(omptarget.rtl.cuda SHARED
-
- src/rtl.cpp
+add_llvm_library(omptarget.rtl.cuda SHARED
+ src/rtl.cpp
- ADDITIONAL_HEADER_DIRS
- ${LIBOMPTARGET_INCLUDE_DIR}
+ LINK_COMPONENTS
+ Support
+ Object
- LINK_COMPONENTS
- Support
- Object
+ LINK_LIBS PRIVATE
+ elf_common
+ MemoryManager
+ ${OPENMP_PTHREAD_LIB}
+ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports,-z,defs"
- LINK_LIBS
- PRIVATE
- elf_common
- MemoryManager
- CUDA::cuda_driver
- ${OPENMP_PTHREAD_LIB}
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
- "-Wl,-z,defs"
+ NO_INSTALL_RPATH
+)
- NO_INSTALL_RPATH
- )
+if(LIBOMPTARGET_DEP_CUDA_FOUND AND NOT LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA)
+ libomptarget_say("Building CUDA plugin linked against libcuda")
+ target_link_libraries(omptarget.rtl.cuda PRIVATE CUDA::cuda_driver)
else()
libomptarget_say("Building CUDA plugin for dlopened libcuda")
- include_directories(dynamic_cuda)
- add_llvm_library(omptarget.rtl.cuda
- SHARED
-
- src/rtl.cpp
- dynamic_cuda/cuda.cpp
-
- ADDITIONAL_HEADER_DIRS
- ${LIBOMPTARGET_INCLUDE_DIR}
-
- LINK_LIBS
- PRIVATE
- elf_common
- MemoryManager
- ${OPENMP_PTHREAD_LIB}
- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
- "-Wl,-z,defs"
-
- NO_INSTALL_RPATH
- )
+ target_include_directories(omptarget.rtl.cuda PRIVATE dynamic_cuda)
+ target_sources(omptarget.rtl.cuda PRIVATE dynamic_cuda/cuda.cpp)
endif()
add_dependencies(omptarget.rtl.cuda omptarget.devicertl.nvptx)
+# Define the suffix for the runtime messaging dumps.
+target_compile_definitions(omptarget.rtl.cuda PRIVATE TARGET_NAME="CUDA")
+target_include_directories(omptarget.rtl.cuda PRIVATE ${LIBOMPTARGET_INCLUDE_DIR})
+
# Install plugin under the lib destination folder.
install(TARGETS omptarget.rtl.cuda LIBRARY DESTINATION "${OPENMP_INSTALL_LIBDIR}")
set_target_properties(omptarget.rtl.cuda PROPERTIES
INSTALL_RPATH "$ORIGIN" BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/.."
CXX_VISIBILITY_PRESET protected)
-target_include_directories(omptarget.rtl.cuda PRIVATE
- ${LIBOMPTARGET_INCLUDE_DIR}
-)
-
# Report to the parent scope that we are building a plugin for CUDA.
# This controls whether tests are run for the nvptx offloading target
# Run them if libcuda is available, or if the user explicitly asked for dlopen
@@ -100,7 +69,6 @@ target_include_directories(omptarget.rtl.cuda PRIVATE
option(LIBOMPTARGET_FORCE_NVIDIA_TESTS "Build NVIDIA libomptarget tests" OFF)
if (LIBOMPTARGET_FOUND_NVIDIA_GPU OR LIBOMPTARGET_FORCE_NVIDIA_TESTS)
libomptarget_say("Enable tests using CUDA plugin")
- set(LIBOMPTARGET_SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS} nvptx64-nvidia-cuda nvptx64-nvidia-cuda-oldDriver" PARENT_SCOPE)
set(LIBOMPTARGET_SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS} nvptx64-nvidia-cuda nvptx64-nvidia-cuda-LTO" PARENT_SCOPE)
list(APPEND LIBOMPTARGET_TESTED_PLUGINS "omptarget.rtl.cuda")
set(LIBOMPTARGET_TESTED_PLUGINS "${LIBOMPTARGET_TESTED_PLUGINS}" PARENT_SCOPE)
More information about the Openmp-commits
mailing list