From af03b2c8d2d64eae0455e1ef233be1c6340a47b0 Mon Sep 17 00:00:00 2001 From: Ioannis Assiouras Date: Wed, 31 May 2023 10:09:06 +0100 Subject: [PATCH] SWDEV-386069 - Added nvidia and AMD config.cmake files as part of the dev package Change-Id: I3c9a65b287822d91407996ca59ac90051b749923 [ROCm/clr commit: d2e36bc047e8437e590c3d5cebf1da3206df89d4] --- projects/clr/hipamd/CMakeLists.txt | 18 +- projects/clr/hipamd/hip-amd-config.cmake | 146 ---------------- projects/clr/hipamd/hip-backward-compat.cmake | 4 +- projects/clr/hipamd/hip-config-amd.cmake | 161 ++++++++++++++++++ projects/clr/hipamd/hip-config-nvidia.cmake | 25 +++ projects/clr/hipamd/hip-config.cmake.in | 26 ++- projects/clr/hipamd/hip-nvidia-config.cmake | 4 - projects/clr/hipamd/packaging/CMakeLists.txt | 4 +- 8 files changed, 230 insertions(+), 158 deletions(-) delete mode 100755 projects/clr/hipamd/hip-amd-config.cmake create mode 100755 projects/clr/hipamd/hip-config-amd.cmake create mode 100755 projects/clr/hipamd/hip-config-nvidia.cmake delete mode 100755 projects/clr/hipamd/hip-nvidia-config.cmake diff --git a/projects/clr/hipamd/CMakeLists.txt b/projects/clr/hipamd/CMakeLists.txt index 79881f85d7..4a9913d39d 100755 --- a/projects/clr/hipamd/CMakeLists.txt +++ b/projects/clr/hipamd/CMakeLists.txt @@ -212,11 +212,9 @@ message(STATUS "HIP Platform: " ${HIP_PLATFORM}) if(HIP_PLATFORM STREQUAL "nvidia") set(HIP_RUNTIME "cuda" CACHE STRING "HIP Runtime") set(HIP_COMPILER "nvcc" CACHE STRING "HIP Compiler") - file(READ "hip-nvidia-config.cmake" PLATFORM_CONFIG) elseif(HIP_PLATFORM STREQUAL "amd") set(HIP_RUNTIME "rocclr" CACHE STRING "HIP Runtime") set(HIP_COMPILER "clang" CACHE STRING "HIP Compiler") - file(READ "hip-amd-config.cmake" PLATFORM_CONFIG) else() message(FATAL_ERROR "Unexpected HIP_PLATFORM: " ${HIP_PLATFORM}) endif() @@ -410,6 +408,20 @@ configure_package_config_file( PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR ) +configure_package_config_file( + hip-config-amd.cmake + ${CMAKE_CURRENT_BINARY_DIR}/hip-config-amd.cmake + INSTALL_DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} + PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR + ) + +configure_package_config_file( + hip-config-nvidia.cmake + ${CMAKE_CURRENT_BINARY_DIR}/hip-config-nvidia.cmake + INSTALL_DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} + PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR + ) + write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/hip-config-version.cmake VERSION "${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_GITDATE}" @@ -418,6 +430,8 @@ write_basic_package_version_file( install( FILES ${CMAKE_CURRENT_BINARY_DIR}/hip-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/hip-config-amd.cmake + ${CMAKE_CURRENT_BINARY_DIR}/hip-config-nvidia.cmake ${CMAKE_CURRENT_BINARY_DIR}/hip-config-version.cmake DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} diff --git a/projects/clr/hipamd/hip-amd-config.cmake b/projects/clr/hipamd/hip-amd-config.cmake deleted file mode 100755 index 913d43a817..0000000000 --- a/projects/clr/hipamd/hip-amd-config.cmake +++ /dev/null @@ -1,146 +0,0 @@ -# AMD-specific configuration -# Number of parallel jobs by default is 1 -if(NOT DEFINED HIP_CLANG_NUM_PARALLEL_JOBS) - set(HIP_CLANG_NUM_PARALLEL_JOBS 1) -endif() - -# Windows Specific Definition here: -if(WIN32) - if(DEFINED ENV{HIP_PATH}) - file(TO_CMAKE_PATH "$ENV{HIP_PATH}" HIP_PATH) - elseif(DEFINED ENV{HIP_DIR}) - file(TO_CMAKE_PATH "$ENV{HIP_DIR}" HIP_DIR) - else() - # using the HIP found - set(HIP_PATH ${PACKAGE_PREFIX_DIR}) - endif() -else() - # Linux - # If HIP is not installed under ROCm, need this to find HSA assuming HSA is under ROCm - if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH "$ENV{ROCM_PATH}") - endif() - - # set a default path for ROCM_PATH - if(NOT DEFINED ROCM_PATH) - set(ROCM_PATH ${PACKAGE_PREFIX_DIR}) - endif() - -endif() - -if(HIP_COMPILER STREQUAL "clang") - if(WIN32) - # Using SDK folder - file(TO_CMAKE_PATH "${HIP_PATH}" HIP_CLANG_ROOT) - if (NOT EXISTS "${HIP_CLANG_ROOT}/bin/clang.exe") - # if using install folder - file(TO_CMAKE_PATH "${HIP_PATH}/../lc" HIP_CLANG_ROOT) - endif() - else() - set(HIP_CLANG_ROOT "${ROCM_PATH}/llvm") - endif() - if(NOT HIP_CXX_COMPILER) - set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) - endif() - - if(NOT WIN32) - find_dependency(AMDDeviceLibs) - endif() - set(AMDGPU_TARGETS "" CACHE STRING "AMD GPU targets to compile for") - set(GPU_TARGETS "${AMDGPU_TARGETS}" CACHE STRING "GPU targets to compile for") -endif() # HIP_COMPILER check - -if(NOT WIN32) - find_dependency(amd_comgr) -endif() - -include( "${CMAKE_CURRENT_LIST_DIR}/hip-targets.cmake" ) - -#Using find_dependency to locate the dependency for the packages -#This makes the cmake generated file xxxx-targets to supply the linker libraries -# without worrying other transitive dependencies -if(NOT WIN32) - find_dependency(hsa-runtime64) - find_dependency(Threads) -endif() - -set(_IMPORT_PREFIX ${HIP_PACKAGE_PREFIX_DIR}) -# Right now this is only supported for amd platforms -set_target_properties(hip::host PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "__HIP_PLATFORM_HCC__=1;__HIP_PLATFORM_AMD__=1" -) - -if(HIP_RUNTIME MATCHES "rocclr") - set_target_properties(hip::amdhip64 PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - ) - - get_target_property(amdhip64_type hip::amdhip64 TYPE) - message(STATUS "hip::amdhip64 is ${amdhip64_type}") - - if(NOT WIN32) - set_target_properties(hip::device PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - ) - endif() -endif() - -if(HIP_COMPILER STREQUAL "clang") - get_property(compilePropIsSet TARGET hip::device PROPERTY INTERFACE_COMPILE_OPTIONS SET) - - if (NOT compilePropIsSet AND HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") - hip_add_interface_compile_flags(hip::device -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false) - endif() - - if (NOT compilePropIsSet) - hip_add_interface_compile_flags(hip::device -x hip) - endif() - - hip_add_interface_link_flags(hip::device --hip-link) - - foreach(GPU_TARGET ${GPU_TARGETS}) - if (NOT compilePropIsSet) - hip_add_interface_compile_flags(hip::device --offload-arch=${GPU_TARGET}) - endif() - hip_add_interface_link_flags(hip::device --offload-arch=${GPU_TARGET}) - endforeach() - #Add support for parallel build and link - if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - check_cxx_compiler_flag("-parallel-jobs=1" HIP_CLANG_SUPPORTS_PARALLEL_JOBS) - endif() - if(HIP_CLANG_NUM_PARALLEL_JOBS GREATER 1) - if(${HIP_CLANG_SUPPORTS_PARALLEL_JOBS} ) - if (NOT compilePropIsSet) - hip_add_interface_compile_flags(hip::device -parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS} -Wno-format-nonliteral) - endif() - hip_add_interface_link_flags(hip::device -parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}) - else() - message("clang compiler doesn't support parallel jobs") - endif() - endif() - - # Use HIP_CXX option -print-libgcc-file-name --rtlib=compiler-rt - # To fetch the compiler rt library file name. - execute_process( - COMMAND ${HIP_CXX_COMPILER} -print-libgcc-file-name --rtlib=compiler-rt - OUTPUT_VARIABLE CLANGRT_BUILTINS - ERROR_VARIABLE CLANGRT_Error - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE CLANGRT_BUILTINS_FETCH_EXIT_CODE) - - if( CLANGRT_Error ) - message( STATUS "${HIP_CXX_COMPILER}: CLANGRT compiler options not supported.") - else() - # Add support for __fp16 and _Float16, explicitly link with compiler-rt - if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) - # CLANG_RT Builtins found Successfully Set interface link libraries property - set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - else() - message(STATUS "clangrt builtins lib not found: ${CLANGRT_BUILTINS_FETCH_EXIT_CODE}") - endif() # CLANGRT_BUILTINS_FETCH_EXIT_CODE Check - endif() # CLANGRT_Error Check -endif() # HIP_COMPILER Check diff --git a/projects/clr/hipamd/hip-backward-compat.cmake b/projects/clr/hipamd/hip-backward-compat.cmake index c46dea4b57..ac415966e1 100644 --- a/projects/clr/hipamd/hip-backward-compat.cmake +++ b/projects/clr/hipamd/hip-backward-compat.cmake @@ -242,5 +242,7 @@ endif()#End HIP_PLATFORM AMD install(FILES ${HIP_WRAPPER_LIB_DIR}/${HIP_INFO_FILE} DESTINATION hip/lib COMPONENT binary) #create symlink to cmake files create_cmake_symlink() -install(DIRECTORY ${HIP_WRAPPER_CMAKE_DIR} DESTINATION hip/lib COMPONENT binary) +install(DIRECTORY ${HIP_WRAPPER_CMAKE_DIR}/hip-lang DESTINATION hip/lib/cmake COMPONENT binary) +install(DIRECTORY ${HIP_WRAPPER_CMAKE_DIR}/hiprtc DESTINATION hip/lib/cmake COMPONENT binary) +install(DIRECTORY ${HIP_WRAPPER_CMAKE_DIR}/hip DESTINATION hip/lib/cmake COMPONENT dev) install(DIRECTORY ${HIP_WRAPPER_FINDHIP_DIR}/ DESTINATION hip/cmake COMPONENT dev) diff --git a/projects/clr/hipamd/hip-config-amd.cmake b/projects/clr/hipamd/hip-config-amd.cmake new file mode 100755 index 0000000000..229bb0fa4f --- /dev/null +++ b/projects/clr/hipamd/hip-config-amd.cmake @@ -0,0 +1,161 @@ +# Copyright (c) 2023 Advanced Micro Devices, Inc. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +cmake_minimum_required(VERSION 3.3) + +# Number of parallel jobs by default is 1 +if(NOT DEFINED HIP_CLANG_NUM_PARALLEL_JOBS) + set(HIP_CLANG_NUM_PARALLEL_JOBS 1) +endif() + +# Windows Specific Definition here: +if(WIN32) + if(DEFINED ENV{HIP_PATH}) + file(TO_CMAKE_PATH "$ENV{HIP_PATH}" HIP_PATH) + elseif(DEFINED ENV{HIP_DIR}) + file(TO_CMAKE_PATH "$ENV{HIP_DIR}" HIP_DIR) + else() + # using the HIP found + set(HIP_PATH ${PACKAGE_PREFIX_DIR}) + endif() +else() + # Linux + # If HIP is not installed under ROCm, need this to find HSA assuming HSA is under ROCm + if(DEFINED ENV{ROCM_PATH}) + set(ROCM_PATH "$ENV{ROCM_PATH}") + endif() + + # set a default path for ROCM_PATH + if(NOT DEFINED ROCM_PATH) + set(ROCM_PATH ${PACKAGE_PREFIX_DIR}) + endif() + +endif() + +if(WIN32) + # Using SDK folder + file(TO_CMAKE_PATH "${HIP_PATH}" HIP_CLANG_ROOT) + if (NOT EXISTS "${HIP_CLANG_ROOT}/bin/clang.exe") + # if using install folder + file(TO_CMAKE_PATH "${HIP_PATH}/../lc" HIP_CLANG_ROOT) + endif() +else() + set(HIP_CLANG_ROOT "${ROCM_PATH}/llvm") +endif() +if(NOT HIP_CXX_COMPILER) + set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) +endif() + +if(NOT WIN32) + find_dependency(AMDDeviceLibs) +endif() +set(AMDGPU_TARGETS "" CACHE STRING "AMD GPU targets to compile for") +set(GPU_TARGETS "${AMDGPU_TARGETS}" CACHE STRING "GPU targets to compile for") + +if(NOT WIN32) + find_dependency(amd_comgr) +endif() + +include( "${CMAKE_CURRENT_LIST_DIR}/hip-targets.cmake" ) + +#Using find_dependency to locate the dependency for the packages +#This makes the cmake generated file xxxx-targets to supply the linker libraries +# without worrying other transitive dependencies +if(NOT WIN32) + find_dependency(hsa-runtime64) + find_dependency(Threads) +endif() + +set(_IMPORT_PREFIX ${HIP_PACKAGE_PREFIX_DIR}) +# Right now this is only supported for amd platforms +set_target_properties(hip::host PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "__HIP_PLATFORM_HCC__=1;__HIP_PLATFORM_AMD__=1" +) + +set_target_properties(hip::amdhip64 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + +get_target_property(amdhip64_type hip::amdhip64 TYPE) +message(STATUS "hip::amdhip64 is ${amdhip64_type}") + +if(NOT WIN32) + set_target_properties(hip::device PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) +endif() + +get_property(compilePropIsSet TARGET hip::device PROPERTY INTERFACE_COMPILE_OPTIONS SET) + +if (NOT compilePropIsSet AND HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") + hip_add_interface_compile_flags(hip::device -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false) +endif() + +if (NOT compilePropIsSet) + hip_add_interface_compile_flags(hip::device -x hip) +endif() + +hip_add_interface_link_flags(hip::device --hip-link) + +foreach(GPU_TARGET ${GPU_TARGETS}) + if (NOT compilePropIsSet) + hip_add_interface_compile_flags(hip::device --offload-arch=${GPU_TARGET}) + endif() + hip_add_interface_link_flags(hip::device --offload-arch=${GPU_TARGET}) +endforeach() +#Add support for parallel build and link +if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + check_cxx_compiler_flag("-parallel-jobs=1" HIP_CLANG_SUPPORTS_PARALLEL_JOBS) +endif() +if(HIP_CLANG_NUM_PARALLEL_JOBS GREATER 1) + if(${HIP_CLANG_SUPPORTS_PARALLEL_JOBS} ) + if (NOT compilePropIsSet) + hip_add_interface_compile_flags(hip::device -parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS} -Wno-format-nonliteral) + endif() + hip_add_interface_link_flags(hip::device -parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}) + else() + message("clang compiler doesn't support parallel jobs") + endif() +endif() + +# Use HIP_CXX option -print-libgcc-file-name --rtlib=compiler-rt +# To fetch the compiler rt library file name. +execute_process( + COMMAND ${HIP_CXX_COMPILER} -print-libgcc-file-name --rtlib=compiler-rt + OUTPUT_VARIABLE CLANGRT_BUILTINS + ERROR_VARIABLE CLANGRT_Error + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE CLANGRT_BUILTINS_FETCH_EXIT_CODE) + +if( CLANGRT_Error ) + message( STATUS "${HIP_CXX_COMPILER}: CLANGRT compiler options not supported.") +else() + # Add support for __fp16 and _Float16, explicitly link with compiler-rt + if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) + # CLANG_RT Builtins found Successfully Set interface link libraries property + set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") + set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") + else() + message(STATUS "clangrt builtins lib not found: ${CLANGRT_BUILTINS_FETCH_EXIT_CODE}") + endif() # CLANGRT_BUILTINS_FETCH_EXIT_CODE Check +endif() # CLANGRT_Error Check diff --git a/projects/clr/hipamd/hip-config-nvidia.cmake b/projects/clr/hipamd/hip-config-nvidia.cmake new file mode 100755 index 0000000000..d7d64eb635 --- /dev/null +++ b/projects/clr/hipamd/hip-config-nvidia.cmake @@ -0,0 +1,25 @@ +# Copyright (c) 2023 Advanced Micro Devices, Inc. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +cmake_minimum_required(VERSION 3.3) + +add_library(hip::device INTERFACE IMPORTED) +add_library(hip::host INTERFACE IMPORTED) +add_library(hip::amdhip64 INTERFACE IMPORTED) diff --git a/projects/clr/hipamd/hip-config.cmake.in b/projects/clr/hipamd/hip-config.cmake.in index 23e415bbb2..9de0500f00 100755 --- a/projects/clr/hipamd/hip-config.cmake.in +++ b/projects/clr/hipamd/hip-config.cmake.in @@ -83,9 +83,6 @@ function(hip_add_interface_link_flags TARGET) endif() endfunction() -set(HIP_COMPILER "@HIP_COMPILER@") -set(HIP_RUNTIME "@HIP_RUNTIME@") - # NOTE: If hip-config is invoked from /opt/rocm-ver/hip/lib/cmake/hip/ # then PACKAGE_PREFIX_DIR will resolve to /opt/rocm-ver/hip, which is for backward compatibility # The following will ensure PACKAGE_PREFIX_DIR will resolves to /opt/rocm-ver @@ -112,7 +109,28 @@ else() set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc") set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig") endif() -@PLATFORM_CONFIG@ + +if(NOT DEFINED HIP_PLATFORM) + if(NOT DEFINED ENV{HIP_PLATFORM}) + execute_process(COMMAND ${hip_HIPCONFIG_EXECUTABLE} --platform + OUTPUT_VARIABLE HIP_PLATFORM + OUTPUT_STRIP_TRAILING_WHITESPACE) + else() + set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE STRING "HIP Platform") + endif() +endif() + +if(HIP_PLATFORM STREQUAL "amd") + set(HIP_RUNTIME "rocclr") + set(HIP_COMPILER "clang") + include( "${hip_LIB_INSTALL_DIR}/cmake/hip/hip-config-amd.cmake" ) +elseif(HIP_PLATFORM STREQUAL "nvidia") + set(HIP_RUNTIME "cuda") + set(HIP_COMPILER "nvcc") + include( "${hip_LIB_INSTALL_DIR}/cmake/hip/hip-config-nvidia.cmake" ) +else() + message(FATAL_ERROR "Unexpected HIP_PLATFORM: " ${HIP_PLATFORM}) +endif() set( hip_LIBRARIES hip::host hip::device) set( hip_LIBRARY ${hip_LIBRARIES}) diff --git a/projects/clr/hipamd/hip-nvidia-config.cmake b/projects/clr/hipamd/hip-nvidia-config.cmake deleted file mode 100755 index 37a9c635ee..0000000000 --- a/projects/clr/hipamd/hip-nvidia-config.cmake +++ /dev/null @@ -1,4 +0,0 @@ -# NVIDIA-specific configuration ### -add_library(hip::device INTERFACE IMPORTED) -add_library(hip::host INTERFACE IMPORTED) -add_library(hip::amdhip64 INTERFACE IMPORTED) diff --git a/projects/clr/hipamd/packaging/CMakeLists.txt b/projects/clr/hipamd/packaging/CMakeLists.txt index 31ae133267..767782a27f 100644 --- a/projects/clr/hipamd/packaging/CMakeLists.txt +++ b/projects/clr/hipamd/packaging/CMakeLists.txt @@ -62,7 +62,6 @@ if(HIP_PLATFORM STREQUAL "amd" ) #Keeping it as is for now install(FILES ${CMAKE_BINARY_DIR}/hipamd/.hipInfo DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) -install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-config.cmake ${CMAKE_BINARY_DIR}/hipamd/hip-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT binary) install ( EXPORT hip-targets FILE hip-targets.cmake NAMESPACE hip:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT binary) install(FILES ${CMAKE_BINARY_DIR}/hipamd/src/hip-lang-config.cmake ${CMAKE_BINARY_DIR}/hipamd/src/hip-lang-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT binary) @@ -99,6 +98,9 @@ install(FILES ${CMAKE_BINARY_DIR}/hipamd/include/hip/hip_version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip COMPONENT dev) install(FILES ${CMAKE_BINARY_DIR}/hipamd/.hipVersion DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT dev) install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) +install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-config.cmake ${CMAKE_BINARY_DIR}/hipamd/hip-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) +install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-config-amd.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) +install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-config-nvidia.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) #End dev files install #Begin doc files install