summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeDetermineHIPCompiler.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-09-18 18:11:41 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-21 19:34:37 (GMT)
commit127b6fa06bf53ad9f31d041a7d11434ca2856c8e (patch)
tree26f2bdb717a1592b9a31fb6bc1cdff37f42a1373 /Modules/CMakeDetermineHIPCompiler.cmake
parent90e23f40ee27c0990b30b3640731e89539cb3990 (diff)
downloadCMake-127b6fa06bf53ad9f31d041a7d11434ca2856c8e.zip
CMake-127b6fa06bf53ad9f31d041a7d11434ca2856c8e.tar.gz
CMake-127b6fa06bf53ad9f31d041a7d11434ca2856c8e.tar.bz2
HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platform
For now, require the value to be `amd`, since that is the only platform we currently support.
Diffstat (limited to 'Modules/CMakeDetermineHIPCompiler.cmake')
-rw-r--r--Modules/CMakeDetermineHIPCompiler.cmake28
1 files changed, 20 insertions, 8 deletions
diff --git a/Modules/CMakeDetermineHIPCompiler.cmake b/Modules/CMakeDetermineHIPCompiler.cmake
index 9a40e82..e55648a 100644
--- a/Modules/CMakeDetermineHIPCompiler.cmake
+++ b/Modules/CMakeDetermineHIPCompiler.cmake
@@ -10,6 +10,16 @@ if( NOT ( ("${CMAKE_GENERATOR}" MATCHES "Make") OR
message(FATAL_ERROR "HIP language not currently supported by \"${CMAKE_GENERATOR}\" generator")
endif()
+if(NOT CMAKE_HIP_PLATFORM)
+ set(CMAKE_HIP_PLATFORM "amd" CACHE STRING "HIP platform" FORCE)
+endif()
+if(NOT CMAKE_HIP_PLATFORM MATCHES "^(amd)$")
+ message(FATAL_ERROR
+ "The CMAKE_HIP_PLATFORM has unsupported value:\n"
+ " '${CMAKE_HIP_PLATFORM}'\n"
+ "It must be 'amd'."
+ )
+endif()
if(NOT CMAKE_HIP_COMPILER)
set(CMAKE_HIP_COMPILER_INIT NOTFOUND)
@@ -34,15 +44,17 @@ if(NOT CMAKE_HIP_COMPILER)
# finally list compilers to try
if(NOT CMAKE_HIP_COMPILER_INIT)
- set(CMAKE_HIP_COMPILER_LIST clang++)
+ if(CMAKE_HIP_PLATFORM STREQUAL "amd")
+ set(CMAKE_HIP_COMPILER_LIST clang++)
- # Look for the Clang coming with ROCm to support HIP.
- execute_process(COMMAND hipconfig --hipclangpath
- OUTPUT_VARIABLE _CMAKE_HIPCONFIG_CLANGPATH
- RESULT_VARIABLE _CMAKE_HIPCONFIG_RESULT
- )
- if(_CMAKE_HIPCONFIG_RESULT EQUAL 0 AND EXISTS "${_CMAKE_HIPCONFIG_CLANGPATH}")
- set(CMAKE_HIP_COMPILER_HINTS "${_CMAKE_HIPCONFIG_CLANGPATH}")
+ # Look for the Clang coming with ROCm to support HIP.
+ execute_process(COMMAND hipconfig --hipclangpath
+ OUTPUT_VARIABLE _CMAKE_HIPCONFIG_CLANGPATH
+ RESULT_VARIABLE _CMAKE_HIPCONFIG_RESULT
+ )
+ if(_CMAKE_HIPCONFIG_RESULT EQUAL 0 AND EXISTS "${_CMAKE_HIPCONFIG_CLANGPATH}")
+ set(CMAKE_HIP_COMPILER_HINTS "${_CMAKE_HIPCONFIG_CLANGPATH}")
+ endif()
endif()
endif()