find_package(CUDA) if( CUDA_INCLUDE_DIRS AND CUDA_VERSION AND CUDA_NVCC_EXECUTABLE) message(STATUS "CUDA_VERSION = ${CUDA_VERSION}") message(STATUS "CUDA_INCLUDE_DIRS = ${CUDA_INCLUDE_DIRS}") message(STATUS "CUDA_NVCC_EXECUTABLE = ${CUDA_NVCC_EXECUTABLE}") set( HIP_PLATFORM "nvcc" ) #export the environment variable, so that HIPCC can find it. set(ENV{HIP_PLATFORM} nvcc) else() find_package(HCC) message(STATUS "HCC_FOUND = ${HCC_FOUND}") message(STATUS "HCC = ${HCC}") message(STATUS "HCC_INCLUDE_DIRS = ${HCC_INCLUDE_DIRS}") message(STATUS "HSA_LIBRARIES = ${HSA_LIBRARIES}") if( ${HCC_FOUND} STREQUAL "TRUE" ) # This directory is hip/cmake! HIP_PATH should be one directory up! set (HIP_PATH $ENV{HIP_PATH}) if (NOT DEFINED HIP_PATH) set (HIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) set( ENV{HIP_PATH} ${HIP_PATH}) endif() message(STATUS "ENV HIP_PATH = $ENV{HIP_PATH}") find_program(HIPCC NAMES hipcc PATHS ENV HIP_PATH PATH_SUFFIXES /bin) message(STATUS "HIPCC = ${HIPCC}") if( DEFINED HIPCC) set( HIP_PLATFORM "hcc" ) #export the environment variable, so that HIPCC can find it. set(ENV{HIP_PLATFORM} "hcc") set (CMAKE_CXX_COMPILER ${HIPCC}) else() message(SEND_ERROR "Did not find HIPCC") endif() else() message(SEND_ERROR "hcc not found") endif() endif()