|
10 | 10 | # or submit itself to any jurisdiction. |
11 | 11 |
|
12 | 12 | # NOTE!!!! - Whenever this file is changed, move it over to alidist/resources |
13 | | -# FindO2GPU.cmake Version 18 |
| 13 | +# FindO2GPU.cmake Version 19 |
14 | 14 |
|
15 | | -set(CUDA_COMPUTETARGET_DEFAULT_FULL 80-real 86-real 89-real 120-real 75-virtual) |
| 15 | +set(CUDA_COMPUTETARGET_DEFAULT_FULL 80-real;86-real;89-real;120-real;75-virtual) |
16 | 16 | set(HIP_AMDGPUTARGET_DEFAULT_FULL gfx906;gfx908) |
17 | 17 | set(CUDA_COMPUTETARGET_DEFAULT_MINIMAL 75-virtual) |
18 | 18 | set(HIP_AMDGPUTARGET_DEFAULT_MINIMAL gfx906) |
@@ -179,6 +179,11 @@ if(ENABLE_CUDA) |
179 | 179 | endif() |
180 | 180 | set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD}) |
181 | 181 | set(CMAKE_CUDA_STANDARD_REQUIRED TRUE) |
| 182 | + if (DEFINED ENV{O2_GPU_CUDA_HOME}) |
| 183 | + set(CMAKE_CUDA_COMPILER "$ENV{O2_GPU_CUDA_HOME}/bin/nvcc") |
| 184 | + elseif (DEFINED ENV{CUDA_PATH}) |
| 185 | + set(CMAKE_CUDA_COMPILER "$ENV{CUDA_PATH}/bin/nvcc") |
| 186 | + endif() |
182 | 187 | include(CheckLanguage) |
183 | 188 | check_language(CUDA) |
184 | 189 | if (NOT ENABLE_CUDA STREQUAL "AUTO") |
@@ -310,17 +315,30 @@ if(ENABLE_HIP) |
310 | 315 | set(CMAKE_HIP_ARCHITECTURES "${HIP_AMDGPUTARGET}") |
311 | 316 | set(GPU_TARGETS "${HIP_AMDGPUTARGET}") |
312 | 317 | endif() |
313 | | - if(NOT "$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm" AND NOT CMAKE_PREFIX_PATH MATCHES "rocm" AND EXISTS "/opt/rocm/lib/cmake/") |
| 318 | + if (DEFINED ENV{O2_GPU_ROCM_HOME}) |
| 319 | + list(PREPEND CMAKE_PREFIX_PATH "$ENV{O2_GPU_ROCM_HOME}/lib/cmake") |
| 320 | + elseif (DEFINED ENV{ROCM_PATH}) |
| 321 | + list(PREPEND CMAKE_PREFIX_PATH "$ENV{ROCM_PATH}/lib/cmake") |
| 322 | + elseif(NOT "$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm|ROCm" AND NOT CMAKE_PREFIX_PATH MATCHES "rocm|ROCm" AND EXISTS "/opt/rocm/lib/cmake/") |
314 | 323 | list(APPEND CMAKE_PREFIX_PATH "/opt/rocm/lib/cmake") |
315 | 324 | endif() |
316 | | - if("$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm" OR CMAKE_PREFIX_PATH MATCHES "rocm") |
| 325 | + # TODO: Use ROCm folder as provided by alidist-gpu recipe |
| 326 | + if("$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm|ROCm" OR CMAKE_PREFIX_PATH MATCHES "rocm|ROCm") |
| 327 | + if (DEFINED ENV{O2_GPU_ROCM_HOME}) |
| 328 | + set(CMAKE_HIP_COMPILER "$ENV{O2_GPU_ROCM_HOME}/llvm/bin/clang++") |
| 329 | + set(TMP_ROCM_DIR "$ENV{O2_GPU_ROCM_HOME}") |
| 330 | + elseif (DEFINED ENV{ROCM_PATH}) |
| 331 | + set(CMAKE_HIP_COMPILER "$ENV{ROCM_PATH}/llvm/bin/clang++") |
| 332 | + set(TMP_ROCM_DIR "$ENV{ROCM_PATH}") |
| 333 | + else() |
| 334 | + set(TMP_ROCM_DIR_LIST "${CMAKE_PREFIX_PATH}:$ENV{CMAKE_PREFIX_PATH}") |
| 335 | + string(REPLACE ":" ";" TMP_ROCM_DIR_LIST "${TMP_ROCM_DIR_LIST}") |
| 336 | + list(FILTER TMP_ROCM_DIR_LIST INCLUDE REGEX /rocm/lib/cmake|/ROCm/lib/cmake) |
| 337 | + list(POP_FRONT TMP_ROCM_DIR_LIST TMP_ROCM_DIR) |
| 338 | + get_filename_component(TMP_ROCM_DIR ${TMP_ROCM_DIR}/../../ ABSOLUTE) |
| 339 | + endif() |
317 | 340 | set(CMAKE_HIP_STANDARD ${CMAKE_CXX_STANDARD}) |
318 | 341 | set(CMAKE_HIP_STANDARD_REQUIRED TRUE) |
319 | | - set(TMP_ROCM_DIR_LIST "${CMAKE_PREFIX_PATH}:$ENV{CMAKE_PREFIX_PATH}") |
320 | | - string(REPLACE ":" ";" TMP_ROCM_DIR_LIST "${TMP_ROCM_DIR_LIST}") |
321 | | - list(FILTER TMP_ROCM_DIR_LIST INCLUDE REGEX /rocm/lib/cmake) |
322 | | - list(POP_FRONT TMP_ROCM_DIR_LIST TMP_ROCM_DIR) |
323 | | - get_filename_component(TMP_ROCM_DIR ${TMP_ROCM_DIR}/../../ ABSOLUTE) |
324 | 342 | if (NOT DEFINED CMAKE_HIP_COMPILER) |
325 | 343 | set(CMAKE_HIP_COMPILER "${TMP_ROCM_DIR}/llvm/bin/clang++") |
326 | 344 | if(NOT EXISTS ${CMAKE_HIP_COMPILER}) |
@@ -361,7 +379,7 @@ if(ENABLE_HIP) |
361 | 379 | enable_language(HIP) |
362 | 380 | endif() |
363 | 381 | elseif(NOT ENABLE_HIP STREQUAL "AUTO") |
364 | | - message(FATAL_ERROR "HIP requested, but CMAKE_PREFIX_PATH env variable does not contain rocm folder!") |
| 382 | + message(FATAL_ERROR "HIP requested, but CMAKE_PREFIX_PATH (${CMAKE_PREFIX_PATH} env variable does not contain rocm folder!") |
365 | 383 | endif() |
366 | 384 | if(hip_FOUND AND NOT hip_VERSION VERSION_GREATER_EQUAL "6.3") |
367 | 385 | set(hip_FOUND 0) |
|
0 commit comments