summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/NVIDIA-HIP.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-09-18 19:46:39 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-21 19:34:37 (GMT)
commit18158bf81ccb5269afcfa53cd671cf7f56dc70b5 (patch)
treec7877ec383af7831f4feb431ceb7dbe7d048d368 /Modules/Compiler/NVIDIA-HIP.cmake
parent127b6fa06bf53ad9f31d041a7d11434ca2856c8e (diff)
downloadCMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.zip
CMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.tar.gz
CMake-18158bf81ccb5269afcfa53cd671cf7f56dc70b5.tar.bz2
HIP: Add support for NVIDIA GPUs
Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
Diffstat (limited to 'Modules/Compiler/NVIDIA-HIP.cmake')
-rw-r--r--Modules/Compiler/NVIDIA-HIP.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/Modules/Compiler/NVIDIA-HIP.cmake b/Modules/Compiler/NVIDIA-HIP.cmake
new file mode 100644
index 0000000..e144ff8
--- /dev/null
+++ b/Modules/Compiler/NVIDIA-HIP.cmake
@@ -0,0 +1,16 @@
+include(Compiler/NVIDIA)
+__compiler_nvidia_cxx_standards(HIP)
+__compiler_nvidia_cuda_flags(HIP)
+
+# The ROCm hip-lang package does not work for nvcc,
+# so provide a minimal one ourselves.
+add_library(hip-lang::device INTERFACE IMPORTED)
+set(_CMAKE_HIP_DEVICE_RUNTIME_TARGET hip-lang::device)
+
+set(CMAKE_HIP_STANDARD_INCLUDE_DIRECTORIES "${CMAKE_HIP_COMPILER_ROCM_ROOT}/include")
+
+set(CMAKE_HIP_LINK_EXECUTABLE
+ "<CMAKE_HIP_HOST_LINK_LAUNCHER> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>${__IMPLICIT_LINKS}")
+set(CMAKE_HIP_CREATE_SHARED_LIBRARY
+ "<CMAKE_HIP_HOST_LINK_LAUNCHER> <CMAKE_SHARED_LIBRARY_HIP_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_HIP_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>${__IMPLICIT_LINKS}")
+set(CMAKE_HIP_CREATE_SHARED_MODULE "${CMAKE_HIP_CREATE_SHARED_LIBRARY}")