@@ -42,12 +42,18 @@ set(SYCL_TARGETS "")
4242if (${ENABLE_CUDA} )
4343 string (JOIN "," SYCL_TARGETS "${SYCL_TARGETS} " "nvptx64-nvidia-cuda" )
4444 set (DEFAULT_CUDA_COMPUTE_CAPABILITY "50" )
45- execute_process (
46- COMMAND bash -c "which nvidia-smi >/dev/null && nvidia-smi --query-gpu=compute_cap --format=csv,noheader | head -n 1 | tr -d '.'"
47- OUTPUT_VARIABLE CUDA_COMPUTE_CAPABILITY
48- OUTPUT_STRIP_TRAILING_WHITESPACE)
45+ set (CUDA_COMPUTE_CAPABILITY "" CACHE BOOL
46+ "CUDA architecture (compute capability), e.g. sm_80. Default value is auto-configured using nvidia-smi." )
47+ # Auto-configure if not specified by user
4948 if ("${CUDA_COMPUTE_CAPABILITY} " STREQUAL "" )
50- message (WARNING "Failed to autoconfigure CUDA Compute Capability using nvidia-smi. Will default to sm_${DEFAULT_CUDA_COMPUTE_CAPABILITY} " )
49+ execute_process (
50+ COMMAND bash -c "which nvidia-smi >/dev/null && nvidia-smi --query-gpu=compute_cap --format=csv,noheader | head -n 1 | tr -d '.'"
51+ OUTPUT_VARIABLE CUDA_COMPUTE_CAPABILITY
52+ OUTPUT_STRIP_TRAILING_WHITESPACE)
53+ endif ()
54+ # Warn if not specified and failed to auto-configure
55+ if ("${CUDA_COMPUTE_CAPABILITY} " STREQUAL "" )
56+ message (WARNING "Failed to autoconfigure CUDA_COMPUTE_CAPABILITY using nvidia-smi. Will default to sm_${DEFAULT_CUDA_COMPUTE_CAPABILITY} " )
5157 set (CUDA_COMPUTE_CAPABILITY ${DEFAULT_CUDA_COMPUTE_CAPABILITY} CACHE STRING "CUDA Compute Capability" )
5258 else ()
5359 message (STATUS "Enabled SYCL target CUDA with Compute Capability sm_${CUDA_COMPUTE_CAPABILITY} " )
@@ -60,12 +66,18 @@ endif()
6066if (${ENABLE_HIP} )
6167 string (JOIN "," SYCL_TARGETS "${SYCL_TARGETS} " "amdgcn-amd-amdhsa" )
6268 set (DEFAULT_HIP_GFX_ARCH "gfx906" )
63- execute_process (
64- COMMAND bash -c "which rocminfo >/dev/null && rocminfo | grep -o 'gfx[0-9]*' | head -n 1"
65- OUTPUT_VARIABLE HIP_GFX_ARCH
66- OUTPUT_STRIP_TRAILING_WHITESPACE)
69+ set (HIP_GFX_ARCH "" CACHE BOOL
70+ "HIP architecture tag, e.g. gfx90a. Default value is auto-configured using rocminfo." )
71+ # Auto-configure if not specified by user
72+ if ("${CUDA_COMPUTE_CAPABILITY} " STREQUAL "" )
73+ execute_process (
74+ COMMAND bash -c "which rocminfo >/dev/null && rocminfo | grep -o 'gfx[0-9]*' | head -n 1"
75+ OUTPUT_VARIABLE HIP_GFX_ARCH
76+ OUTPUT_STRIP_TRAILING_WHITESPACE)
77+ endif ()
78+ # Warn if not specified and failed to auto-configure
6779 if ("${HIP_GFX_ARCH} " STREQUAL "" )
68- message (WARNING "Failed to autoconfigure HIP gfx arch using rocminfo. Will default to ${DEFAULT_HIP_GFX_ARCH} " )
80+ message (WARNING "Failed to autoconfigure HIP_GFX_ARCH using rocminfo. Will default to ${DEFAULT_HIP_GFX_ARCH} " )
6981 set (HIP_GFX_ARCH ${DEFAULT_HIP_GFX_ARCH} CACHE STRING "HIP gfx arch" )
7082 else ()
7183 message (STATUS "Enabled SYCL target HIP with gfx arch ${HIP_GFX_ARCH} " )
0 commit comments