From 447ea938b9dfaab3ff4d5fb9a5982ff2707b2894 Mon Sep 17 00:00:00 2001 From: Ioannis Assiouras Date: Thu, 28 Sep 2023 00:51:05 +0100 Subject: [PATCH] Revert "SWDEV-414194 - Make hip-lang available on nvidia platform" This reverts commit 14f3d8bcd6c441b15889c7fdde715334cb76dd87. After changes in upstream cmake hip-lang-config.cmake will not be required on nvidia platform. Change-Id: I711601dac1064ea17f58437da8ffbc50678eda08 [ROCm/clr commit: 31201b6e2537839b4d1117a56fe90d88334868c9] --- projects/clr/hipamd/CMakeLists.txt | 36 +------- projects/clr/hipamd/hip-backward-compat.cmake | 4 +- projects/clr/hipamd/hip-lang-config-amd.cmake | 83 ------------------- .../clr/hipamd/hip-lang-config-nvidia.cmake | 42 ---------- projects/clr/hipamd/packaging/CMakeLists.txt | 5 +- projects/clr/hipamd/src/CMakeLists.txt | 23 +++++ 6 files changed, 28 insertions(+), 165 deletions(-) delete mode 100644 projects/clr/hipamd/hip-lang-config-amd.cmake delete mode 100644 projects/clr/hipamd/hip-lang-config-nvidia.cmake diff --git a/projects/clr/hipamd/CMakeLists.txt b/projects/clr/hipamd/CMakeLists.txt index 194e50a47a..e23a50041a 100755 --- a/projects/clr/hipamd/CMakeLists.txt +++ b/projects/clr/hipamd/CMakeLists.txt @@ -444,42 +444,8 @@ install( DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} ) - -configure_package_config_file( - ${HIP_COMMON_DIR}/hip-lang-config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config.cmake - INSTALL_DESTINATION ${CONFIG_LANG_PACKAGE_INSTALL_DIR} - NO_CHECK_REQUIRED_COMPONENTS_MACRO - PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR) - -configure_package_config_file( - hip-lang-config-amd.cmake - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-amd.cmake - INSTALL_DESTINATION ${CONFIG_LANG_PACKAGE_INSTALL_DIR} - PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR) - -configure_package_config_file( - hip-lang-config-nvidia.cmake - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-nvidia.cmake - INSTALL_DESTINATION ${CONFIG_LANG_PACKAGE_INSTALL_DIR} - PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR) - -write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-version.cmake - VERSION "${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_GITDATE}" - COMPATIBILITY SameMajorVersion) - -install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-amd.cmake - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-nvidia.cmake - ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-version.cmake - DESTINATION - ${CONFIG_LANG_PACKAGE_INSTALL_DIR}/ - ) - # Packaging invokes UNIX commands, which are not available on Windows. + if(NOT WIN32) add_subdirectory(packaging) endif() diff --git a/projects/clr/hipamd/hip-backward-compat.cmake b/projects/clr/hipamd/hip-backward-compat.cmake index 9a2b6f7e72..a625b63217 100644 --- a/projects/clr/hipamd/hip-backward-compat.cmake +++ b/projects/clr/hipamd/hip-backward-compat.cmake @@ -165,7 +165,7 @@ function(create_cmake_symlink) #create symlink to hip-lang file(MAKE_DIRECTORY ${HIP_WRAPPER_CMAKE_DIR}/hip-lang) - file(GLOB config_files ${HIP_BUILD_DIR}/hip-lang-config*) + file(GLOB config_files ${HIP_BUILD_DIR}/src/hip-lang-config*) foreach(config_name ${config_files}) get_filename_component(file_name ${config_name} NAME) add_custom_target(link_${file_name} ALL @@ -250,7 +250,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}/hip-lang DESTINATION hip/lib/cmake COMPONENT dev) +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-lang-config-amd.cmake b/projects/clr/hipamd/hip-lang-config-amd.cmake deleted file mode 100644 index 9a3aec3266..0000000000 --- a/projects/clr/hipamd/hip-lang-config-amd.cmake +++ /dev/null @@ -1,83 +0,0 @@ -# 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. - -include( "${CMAKE_CURRENT_LIST_DIR}/hip-lang-targets.cmake" ) - -# Find the hip-lang config file path with symlinks resolved -# RealPath: /opt/rocm-ver/lib/cmake/hip-lang/hip-lang-config.cmake -# Go 4 level up to get IMPORT PREFIX -get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" REALPATH) -get_filename_component(_IMPORT_PREFIX "${_DIR}/../../../../" ABSOLUTE) - - -set_target_properties(hip-lang::device PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" -) - -set_target_properties(hip-lang::amdhip64 PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "$<$:__HIP_ROCclr__=1>" - INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" -) -set_target_properties(hip-lang::device PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "$<$:__HIP_ROCclr__=1>" -) - -set_property(TARGET hip-lang::device APPEND PROPERTY - INTERFACE_COMPILE_OPTIONS "$<$:SHELL:-mllvm;-amdgpu-early-inline-all=true;-mllvm;-amdgpu-function-calls=false>" -) - -set_property(TARGET hip-lang::device APPEND PROPERTY - INTERFACE_LINK_OPTIONS "$<$:--hip-link>" -) - -# Approach: Check CLANGRT LIB support for CMAKE_HIP_COMPILER -# Use CMAKE_HIP_COMPILER option -print-libgcc-file-name --rtlib=compiler-rt -# Note: For Linux add additional option -unwindlib=libgcc also -# To fetch the compiler rt library file name and confirm. -# If unsuccessful in getting clangrt using this option then -# FATAL_ERROR message send since compiler-rt linkage dependency is mandatory. -# If successful then --rtlib=compiler-rt (and -unwindlib=libgcc for non windows) -# added to Target's INTERFACE_LINK_LIBRARIES property -if (NOT WIN32) - set(CLANGRT_LINUX_OPTION "-unwindlib=libgcc") -endif() - -execute_process( - COMMAND ${CMAKE_HIP_COMPILER} -print-libgcc-file-name --rtlib=compiler-rt ${CLANGRT_LINUX_OPTION} - OUTPUT_VARIABLE CLANGRT_BUILTINS - OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE CLANGRT_BUILTINS_FETCH_EXIT_CODE) - -# Add support for __fp16 and _Float16, explicitly link with compiler-rt -if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) - set_property(TARGET hip-lang::device APPEND PROPERTY - INTERFACE_LINK_OPTIONS $<$:--rtlib=compiler-rt ${CLANGRT_LINUX_OPTION}> - ) -else() - # FATAL_ERROR send if not successfull on compiler-rt linkage dependency - message(FATAL_ERROR - "${CMAKE_FIND_PACKAGE_NAME} Error:${CLANGRT_BUILTINS_FETCH_EXIT_CODE} - clangrt builtins lib could not be found.") -endif() - -# Approved by CMake to use this name. This is used so that HIP can -# change the name of the target and not require any modifications in CMake -set(_CMAKE_HIP_DEVICE_RUNTIME_TARGET "hip-lang::device") diff --git a/projects/clr/hipamd/hip-lang-config-nvidia.cmake b/projects/clr/hipamd/hip-lang-config-nvidia.cmake deleted file mode 100644 index a110e0c8c3..0000000000 --- a/projects/clr/hipamd/hip-lang-config-nvidia.cmake +++ /dev/null @@ -1,42 +0,0 @@ -# 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. - -add_library(hip-lang::device INTERFACE IMPORTED) -add_library(hip-lang::host INTERFACE IMPORTED) -add_library(hip-lang::amdhip64 INTERFACE IMPORTED) - -# Find the hip-lang config file path with symlinks resolved -# RealPath: /opt/rocm-ver/lib/cmake/hip-lang/hip-lang-config.cmake -# Go 4 level up to get IMPORT PREFIX -get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" REALPATH) -get_filename_component(_IMPORT_PREFIX "${_DIR}/../../../../" ABSOLUTE) - - -set_target_properties(hip-lang::device PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" -) - -set_target_properties(hip-lang::amdhip64 PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" -) - -set(_CMAKE_HIP_DEVICE_RUNTIME_TARGET "hip-lang::device") diff --git a/projects/clr/hipamd/packaging/CMakeLists.txt b/projects/clr/hipamd/packaging/CMakeLists.txt index cef02d4296..1ff2b1d4e7 100644 --- a/projects/clr/hipamd/packaging/CMakeLists.txt +++ b/projects/clr/hipamd/packaging/CMakeLists.txt @@ -63,6 +63,8 @@ if(HIP_PLATFORM STREQUAL "amd" ) install(FILES ${CMAKE_BINARY_DIR}/hipamd/share/hip/.hipInfo DESTINATION ${CMAKE_INSTALL_LIBDIR} 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) install ( EXPORT hip-lang-targets FILE hip-lang-targets.cmake NAMESPACE hip-lang:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT binary) install(FILES ${CMAKE_BINARY_DIR}/hipamd/hiprtc-config.cmake ${CMAKE_BINARY_DIR}/hipamd/hiprtc-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hiprtc COMPONENT binary) @@ -104,9 +106,6 @@ install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION ${CMAKE_INSTALL_LIBDIR}/c 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) -install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-lang-config.cmake ${CMAKE_BINARY_DIR}/hipamd/hip-lang-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT dev) -install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-lang-config-amd.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT dev) -install(FILES ${CMAKE_BINARY_DIR}/hipamd/hip-lang-config-nvidia.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT dev) #End dev files install #Begin doc files install diff --git a/projects/clr/hipamd/src/CMakeLists.txt b/projects/clr/hipamd/src/CMakeLists.txt index 97f4d0ea36..fb8ad70bc3 100644 --- a/projects/clr/hipamd/src/CMakeLists.txt +++ b/projects/clr/hipamd/src/CMakeLists.txt @@ -293,3 +293,26 @@ INSTALL(TARGETS amdhip64 host device ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) INSTALL(EXPORT hip-lang-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang NAMESPACE hip-lang::) + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + ${HIP_COMMON_DIR}/hip-lang-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config.cmake + INSTALL_DESTINATION ${CONFIG_LANG_PACKAGE_INSTALL_DIR} + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO + PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-version.cmake + VERSION "${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_GITDATE}" + COMPATIBILITY SameMajorVersion) +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/hip-lang-config-version.cmake + DESTINATION + ${CONFIG_LANG_PACKAGE_INSTALL_DIR}/ + ) +