Skip to content
Merged
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8247314
[hip-tests] Deprecate hipconfig: derive HIP version from find_package…
david-salinas May 1, 2026
95d1d8e
Migrate tests from legacy FindHIP to CMake native HIP
david-salinas May 7, 2026
1fa30a8
[roctracer] Fix ignored hipSetDevice return value in MatrixTranspose_…
david-salinas May 7, 2026
669dfee
[rccl] Deprecate hipconfig: derive HIP version from find_package(hip)
david-salinas May 8, 2026
0cdd1e1
[rccl-tests, hip-tests/samples] Deprecate hipconfig: derive HIP versi…
david-salinas May 8, 2026
5532a46
[clr] Deprecate hipconfig: remove hipconfig-based HIP_PLATFORM detection
david-salinas May 8, 2026
d09f7e8
[rocprofiler] Migrate from FindHIP MODULE to find_package(hip CONFIG)
david-salinas May 8, 2026
6edcf5d
Apply suggestion from @lamb-j
lamb-j Jun 2, 2026
09acfc8
Apply suggestion from @lamb-j
lamb-j Jun 2, 2026
40e59dc
[hip-tests] Removed a couple comments regarding hipconfig deprecation
accauble Jun 9, 2026
51b8bb7
Deprecate hipconfig: remove remaining hipconfig invocations and FindH…
david-salinas Jun 23, 2026
5b01d67
[clr] Remove install rule for hip/cmake directory (FindHIP removed)
david-salinas Aug 10, 2026
a91512c
[hip] Remove legacy hipcc_cmake_linker_helper and hipdemangleatp scripts
david-salinas Aug 10, 2026
1de4aba
[clr] Remove packaging install rule for hip/cmake directory (FindHIP …
david-salinas Aug 11, 2026
f320a0c
[clr] Remove stale CMAKE_MODULE_PATH entry for hip/cmake (FindHIP rem…
david-salinas Aug 11, 2026
2bd8dd5
[hip] Restore FindHIP.cmake without hipconfig dependency
david-salinas Aug 11, 2026
652f856
[clr] Remove Windows install rule for hip/bin directory (now empty)
david-salinas Aug 12, 2026
4b410b3
[hip] Fix run_hipcc.cmake to not call hipconfig at build time
david-salinas Aug 13, 2026
ee838be
Deprecate hipconfig: remove remaining hipconfig invocations
david-salinas Aug 31, 2026
d4b9c0c
[rccl] Use CMake HIP language support for standalone host test build
david-salinas Sep 1, 2026
7273422
Remove HIP_PLATFORM env var and replace FindHIP with a thin wrapper
david-salinas Sep 3, 2026
c32e070
[clr] Restore HIP_PLATFORM cmake var for NVIDIA path; stop reading EN…
david-salinas Sep 3, 2026
fc4e6ea
[hip] Add legacy macro stubs to FindHIP.cmake shim
david-salinas Sep 3, 2026
9f1aa84
Address review feedback from amd-argus
david-salinas Sep 15, 2026
0e3de3b
fix: address review feedback from amd-argus (round 2)
david-salinas Sep 16, 2026
837ee7d
fix: address review feedback from amd-argus (round 3)
david-salinas Sep 17, 2026
5818922
fix: address review feedback from amd-argus (round 4)
david-salinas Sep 17, 2026
574a2aa
fix: address review feedback from amd-argus (round 5)
david-salinas Sep 18, 2026
c400df9
fix(test): pass HIP_PLATFORM as CMake arg instead of env var
david-salinas Sep 22, 2026
109e245
fix(rccl): replace hipcc with amdclang++ in IR device tests and CI sc…
david-salinas Sep 22, 2026
a462ab2
fix: address amd-argus review findings (round 7)
david-salinas Sep 22, 2026
88615d0
fix(rccl): add HIP include propagation to rccl-UnitTestsMicroWarpSpeed
david-salinas Sep 22, 2026
4914cd8
fix: address amd-argus review findings (round 8)
david-salinas Sep 22, 2026
a0c162b
fix: repair three rebase-conflict artifacts
david-salinas Sep 29, 2026
59f58fa
fix(rccl): guard init-variant GTest link behind if(NOT BUILD_TESTS)
david-salinas Sep 29, 2026
1447f37
fix(rccl/gin-mpi): use mpicxx wrapper in _build_gin_mpi_binary
david-salinas Sep 29, 2026
47dc0e5
fix(rccl/ir-test): link gtest_main before rccl to avoid main symbol c…
david-salinas Oct 5, 2026
03bb018
fix(hip): use keyword target_link_libraries in FindHIP legacy macros
david-salinas Oct 15, 2026
4e5707e
fix(rccl-tests): escape bare # in Makefile $(shell) for Make < 4.3
david-salinas Oct 16, 2026
f9a90f1
fix(rccl): remove redundant init-variant boilerplate after rccl_add_m…
david-salinas Oct 19, 2026
0600c79
fix(roctracer,rocprofiler): use GPU_TARGETS for CMAKE_HIP_ARCHITECTURES
david-salinas Oct 26, 2026
7ea6bee
fix(roctracer,rocprofiler): normalize GPU_TARGETS spaces to semicolons
david-salinas Oct 27, 2026
7741f81
Merge branch 'develop' into users/dsalinas/deprecate-hipcc
david-salinas Oct 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 10 additions & 43 deletions projects/clr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,53 +69,19 @@ if(NOT DEFINED ROCM_PATH)
endif()
message(STATUS "ROCM_PATH: ${ROCM_PATH}")

# Attempt to auto-detect HIP_PLATFORM by interrogating hipconfig. This is kept
# for compatibility: users are advised to pass HIP_PLATFORM explicitly.
# Sets the HIP_PLATFORM variable in the parent scope.
function(_hip_clr_auto_detect_hip_platform)
if (UNIX)
set(HIPCC_EXECUTABLE "hipcc")
set(HIPCONFIG_EXECUTABLE "hipconfig")
else()
set(HIPCC_EXECUTABLE "hipcc.exe")
set(HIPCONFIG_EXECUTABLE "hipconfig.exe")
endif()

# Set default HIPCC_BIN_DIR to ${ROCM_PATH}/bin
if(NOT DEFINED HIPCC_BIN_DIR AND UNIX)
set(HIPCC_BIN_DIR "${ROCM_PATH}/bin")
endif()
message(STATUS "Auto-detect HIP_PLATFORM from HIPCC Binary Directory: ${HIPCC_BIN_DIR}")

if(NOT EXISTS ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE})
message(FATAL_ERROR "Please pass hipcc/build or hipcc/bin using -DHIPCC_BIN_DIR.")
endif()

# Determine HIP_PLATFORM
if(NOT DEFINED HIP_PLATFORM)
if(NOT DEFINED ENV{HIP_PLATFORM})
execute_process(COMMAND ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} --platform
OUTPUT_VARIABLE _detected_hip_platform
RESULT_VARIABLE result
OUTPUT_STRIP_TRAILING_WHITESPACE)

if(result AND NOT result EQUAL 0)
message(FATAL_ERROR "Failure trying to auto-detect HIP_PLATFORM via command: ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} --platform: ${result}")
endif()

set(HIP_PLATFORM "${_detected_hip_platform}" PARENT_SCOPE)
else()
set(HIP_PLATFORM "$ENV{HIP_PLATFORM}" PARENT_SCOPE)
endif()
endif()
endfunction()
if(CLR_BUILD_HIP)
message(STATUS "HIP Common Directory: ${HIP_COMMON_DIR}")
if(NOT DEFINED HIP_COMMON_DIR)
message(FATAL_ERROR "Please pass HIP using -DHIP_COMMON_DIR. HIP_COMMON_DIR is incorrect")
endif()
# HIP_PLATFORM selects the HIP backend: "amd" (default) or "nvidia".
# Pass -DHIP_PLATFORM=nvidia explicitly for NVIDIA builds.
# Note: ENV{HIP_PLATFORM} (hipcc's env var) is intentionally not read here.
if(NOT DEFINED HIP_PLATFORM)
_hip_clr_auto_detect_hip_platform()
set(HIP_PLATFORM "amd")
Comment thread
david-salinas marked this conversation as resolved.
Resolved
message(STATUS "HIP_PLATFORM defaulting to: ${HIP_PLATFORM}")
else()
message(STATUS "HIP_PLATFORM set to: ${HIP_PLATFORM}")
Comment thread
david-salinas marked this conversation as resolved.
Resolved
endif()
endif()

Expand All @@ -131,10 +97,11 @@ endif()
# which selects the sanitizer runtime linkage.
include("${CMAKE_CURRENT_LIST_DIR}/cmake/CLRSanitizers.cmake")

# rocclr is only used for the AMD HIP path and OpenCL; the NVIDIA path does not use it.
if((CLR_BUILD_HIP AND HIP_PLATFORM STREQUAL "amd") OR CLR_BUILD_OCL)
add_subdirectory(rocclr)
elseif(HIP_PLATFORM STREQUAL "amd")
message(FATAL_ERROR "Please enable building of one or more of the below runtimes:\n- HIP (-DCLR_BUILD_HIP=ON)\n- OpenCL (-DCLR_BUILD_OCL-ON)")
elseif(NOT CLR_BUILD_HIP AND NOT CLR_BUILD_OCL)
message(FATAL_ERROR "Please enable building of one or more of the below runtimes:\n- HIP (-DCLR_BUILD_HIP=ON)\n- OpenCL (-DCLR_BUILD_OCL=ON)")
endif()
if(CLR_BUILD_HIP)
add_subdirectory(hipamd)
Expand Down
6 changes: 1 addition & 5 deletions projects/clr/hipamd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ include(GNUInstallDirs)
# By default, CMake will search for a folder named opencl or ROCm-OpenCL-Runtime relative to the current path. Specify -DAMD_OPENCL_PATH=$OPENCL_DIR if opencl source is in obscure location.
list(APPEND CMAKE_MODULE_PATH ${HIP_COMMON_DIR}/cmake)


#############################
# Options
#############################
Expand Down Expand Up @@ -239,9 +238,7 @@ endif()
# Determine HIP_PLATFORM
if(NOT DEFINED HIP_PLATFORM)
if(NOT DEFINED ENV{HIP_PLATFORM})
execute_process(COMMAND ${__HIPCONFIG_EXECUTABLE__} --platform
OUTPUT_VARIABLE HIP_PLATFORM
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(HIP_PLATFORM "amd")
else()
set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE STRING "HIP Platform")
endif()
Expand Down Expand Up @@ -366,7 +363,6 @@ execute_process(COMMAND test ${CMAKE_INSTALL_PREFIX} -ef ${CMAKE_CURRENT_SOURCE_
RESULT_VARIABLE INSTALL_SOURCE)
if(NOT ${INSTALL_SOURCE} EQUAL 0)
if(WIN32)
install(DIRECTORY ${HIP_COMMON_BIN_DIR} DESTINATION . USE_SOURCE_PERMISSIONS)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/src/" DESTINATION ${CMAKE_INSTALL_BINDIR}
FILES_MATCHING PATTERN "*.pdb"
Expand Down
52 changes: 23 additions & 29 deletions projects/clr/hipamd/hip-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -96,38 +96,32 @@ endif()

if(NOT DEFINED HIP_PLATFORM)
if(NOT DEFINED ENV{HIP_PLATFORM})
# Try using hip_HIPCONFIG_EXECUTABLE first, if it is available.
if(DEFINED hip_HIPCONFIG_EXECUTABLE AND NOT hip_HIPCONFIG_EXECUTABLE STREQUAL "")
execute_process(
COMMAND ${hip_HIPCONFIG_EXECUTABLE} --platform
OUTPUT_VARIABLE HIP_PLATFORM
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _hipconfig_result
ERROR_VARIABLE _hipconfig_error
)
if(_hipconfig_result EQUAL 0 AND NOT HIP_PLATFORM STREQUAL "")
message(STATUS "HIP_PLATFORM using hip_HIPCONFIG_EXECUTABLE: ${HIP_PLATFORM}")
else()
message(WARNING "Failed to detect HIP_PLATFORM using hip_HIPCONFIG_EXECUTABLE (${hip_HIPCONFIG_EXECUTABLE}): ${_hipconfig_error}")
unset(HIP_PLATFORM)
# Prefer the platform this package was built for: @HIP_PLATFORM@ is
# substituted by configure_package_config_file at install time so the
# installed config reflects the actual build rather than the consuming host.
if(NOT "@HIP_PLATFORM@" STREQUAL "")
set(HIP_PLATFORM "@HIP_PLATFORM@")
message(STATUS "HIP_PLATFORM (from build): ${HIP_PLATFORM}")
else()
# Fallback for installs where the build-time value was not baked in:
# probe for amdclang++ (AMD) or nvcc (NVIDIA), default to amd.
find_program(_hip_amdclangxx_exec amdclang++ PATHS "${hip_BIN_INSTALL_DIR}/../llvm/bin" NO_DEFAULT_PATH)
if(NOT _hip_amdclangxx_exec)
find_program(_hip_amdclangxx_exec amdclang++)
endif()
endif()

# Fallback to finding a hipconfig executable on PATH if needed.
if(NOT DEFINED HIP_PLATFORM OR HIP_PLATFORM STREQUAL "")
find_program(HIPCONFIG_EXEC hipconfig)
execute_process(
COMMAND ${HIPCONFIG_EXEC} --platform
OUTPUT_VARIABLE HIP_PLATFORM
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _hipconfig_fallback_result
ERROR_VARIABLE _hipconfig_fallback_error
)
if(_hipconfig_fallback_result EQUAL 0 AND NOT HIP_PLATFORM STREQUAL "")
message(STATUS "HIP_PLATFORM using HIPCONFIG_EXEC: ${HIP_PLATFORM}")
if(_hip_amdclangxx_exec)
set(HIP_PLATFORM "amd")
else()
message(FATAL_ERROR "Failed to detect HIP_PLATFORM using HIPCONFIG_EXEC (${HIPCONFIG_EXEC}): ${_hipconfig_fallback_error}")
find_program(_hip_nvcc_exec nvcc)
if(_hip_nvcc_exec)
set(HIP_PLATFORM "nvidia")
else()
set(HIP_PLATFORM "amd")
endif()
unset(_hip_nvcc_exec CACHE)
endif()
unset(_hip_amdclangxx_exec CACHE)
message(STATUS "HIP_PLATFORM auto-detected: ${HIP_PLATFORM}")
endif()
else()
set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE STRING "HIP Platform")
Expand Down
34 changes: 22 additions & 12 deletions projects/hip-tests/catch/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,21 @@ include_directories(${hip_INCLUDE_DIRS})
find_package(hiprtc)
find_package(Git)
find_package(Python 3 COMPONENTS Interpreter REQUIRED)
find_program(HIPCONFIG_EXEC hipconfig REQUIRED)

# hip root dir is 3 levels down the hip-config.cmake file path
set(HIP_PATH ${hip_DIR}/../../../)

# Reconstruct MAJOR.MINOR.PATCH-GITHASH from find_package(hip) and
# share/hip/version. hip_VERSION only carries MAJOR.MINOR.PATCH; the
# git hash lives in share/hip/version as HIP_VERSION_GITHASH.
set(HIP_VERSION ${hip_VERSION})
file(STRINGS "${HIP_PATH}/share/hip/version" _hip_githash_line
REGEX "^HIP_VERSION_GITHASH=")
if(_hip_githash_line)
string(REGEX REPLACE "^HIP_VERSION_GITHASH=" "" _hip_githash "${_hip_githash_line}")
set(HIP_VERSION "${HIP_VERSION}-${_hip_githash}")
unset(_hip_githash)
endif()
unset(_hip_githash_line)
if(NOT DEFINED ROCM_PATH)
# Derive ROCM_PATH from the HIP location instead of hardcoding to /opt/rocm
set(ROCM_PATH ${HIP_PATH})
Expand Down Expand Up @@ -101,14 +112,6 @@ if(NOT HIP_PLATFORM STREQUAL "amd" AND NOT HIP_PLATFORM STREQUAL "nvidia")
message(FATAL_ERROR "Unexpected HIP_PLATFORM: " ${HIP_PLATFORM})
endif()

execute_process(COMMAND ${HIPCONFIG_EXEC} --version
OUTPUT_VARIABLE HIP_VERSION
RESULT_VARIABLE result
OUTPUT_STRIP_TRAILING_WHITESPACE)

if(result AND NOT result EQUAL 0)
message(FATAL_ERROR "Failure trying to obtain HIP version via command: ${HIPCONFIG_EXEC} --version: ${result}")
endif()

if(NOT WIN32)
if(NOT BUILD_SHARED_LIBS)
Expand All @@ -132,12 +135,19 @@ list(GET VERSION_LIST 1 HIP_VERSION_MINOR)
list(GET VERSION_LIST 2 HIP_VERSION_PATCH_GITHASH)
string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH})
list(GET VERSION_LIST 0 HIP_VERSION_PATCH)
list(GET VERSION_LIST 1 HIP_VERSION_GITHASH)
list(LENGTH VERSION_LIST _version_list_len)
if(_version_list_len GREATER 1)
list(GET VERSION_LIST 1 HIP_VERSION_GITHASH)
else()
set(HIP_VERSION_GITHASH "")
endif()

if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}.$ENV{ROCM_LIBPATCH_VERSION})
else()
elseif(HIP_VERSION_GITHASH)
set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH})
else()
set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH})
endif()

find_package(Catch2 3.8.1 QUIET)
Expand Down

This file was deleted.

Loading
Loading