Skip to content

ROCm: Add the Therock 7.13.0 release to all packages - #4964

Open
renjithravindrankannath wants to merge 21 commits into
spack:developfrom
renjithravindrankannath:therock
Open

ROCm: Add the Therock 7.13.0 release to all packages#4964
renjithravindrankannath wants to merge 21 commits into
spack:developfrom
renjithravindrankannath:therock

Conversation

@renjithravindrankannath

@renjithravindrankannath renjithravindrankannath commented May 28, 2026

Copy link
Copy Markdown
Contributor

Therock 7.13.0 Release

This PR updates Spack packages for the Therock 7.13.0 release, AMD's lightweight open-source build platform for HIP and ROCm.

About TheRock

TheRock is a CMake super-project that enables source-based builds of HIP (Heterogeneous-compute Interface for Portability) and ROCm (Radeon Open Compute), AMD's open-source GPU computing platform. It serves as the integration point for ROCm components, providing:

  • Nightly releases of ROCm and PyTorch with prebuilt packages
  • Multi-platform support across Linux distributions and Windows
  • Comprehensive CI/CD pipelines for building, testing, and releasing ROCm components
  • Developer tools for individual ROCm component development
  • Unified build system consolidating compiler toolchain, runtime, libraries, and tools

TheRock 7.13 integrates components from two major ROCm super-repositories:

  • rocm-systems - Core runtime, profiling, and system management tools
  • rocm-libraries - Math libraries and GPU-accelerated primitives

Packages Updated in This PR

ROCm Systems Components (from https://github.com/ROCm/rocm-systems)

Core Runtime & Management

  • amdsmi - AMD System Management Interface for GPU monitoring and management
  • rocm-core - Core ROCm package providing version information
  • rocminfo - System information utility for ROCm-capable devices
  • rocm-smi-lib - System management interface library
  • rdc - ROCm Data Center tool for cluster-level GPU management

HIP & Common Language Runtime (CLR)

  • hip - HIP runtime providing CUDA-like API for AMD GPUs
  • hip-tests - Comprehensive HIP test suite
  • hipcc - HIP compiler driver wrapper
  • hipify-clang - Tool for converting CUDA code to HIP
  • comgr - Code Object Manager for compiling and managing GPU code

HSA Runtime & Debug Infrastructure

  • hsa-rocr-dev - HSA ROCm runtime for low-level GPU compute
  • rocm-dbgapi - ROCm debugger API for GPU debugging
  • rocm-debug-agent - Debug agent for catching GPU exceptions
  • rocm-gdb - ROCm-enabled GNU debugger for GPU debugging

Profiling & Tracing Tools

  • hsa-amd-aqlprofile - AQL (Architected Queuing Language) profiling library
  • rocprofiler-dev - ROCm profiler development package
  • rocprofiler-compute - Compute profiling for GPU kernels
  • rocprofiler-register - Hardware counter profiling
  • rocprofiler-sdk - Profiler SDK for custom tool development
  • rocprofiler-systems - System-level profiling across CPU and GPU
  • rocprofiler-compute-viewer - Viewer for compute profiling results
  • roctracer-dev - Runtime tracing library for GPU activity
  • roctracer-dev-api - Tracer API for custom instrumentation

Media & Communication Libraries

  • rocdecode - Hardware-accelerated video decoding library
  • rocjpeg - Hardware-accelerated JPEG processing
  • rocshmem - OpenSHMEM implementation for ROCm (partitioned global address space)

LLVM Compiler & Device Libraries

  • llvm-amdgpu - LLVM compiler infrastructure with AMD GPU backend
  • rocm-device-libs - Device-side language runtime libraries (math, builtins)
  • rocm-opencl - OpenCL runtime implementation for ROCm

ROCm Libraries Components (from https://github.com/ROCm/rocm-libraries)

HIP Math Libraries

  • hipblas - BLAS (Basic Linear Algebra Subprograms) for HIP
  • hipblas-common - Common components shared across hipBLAS libraries
  • hipblaslt - BLAS-like library with flexible APIs and mixed-precision support
  • hipsolver - LAPACK functionality (dense linear algebra solvers) for HIP
  • hipsparse - Sparse linear algebra operations for HIP
  • hipsparselt - Structured sparse matrix operations with low-precision support
  • hip-tensor - Tensor contraction library for AI/ML workloads

HIP Parallel Primitives & Utilities

  • hipcub - Parallel algorithm primitives (sort, scan, reduce) for HIP
  • hipfft - Fast Fourier Transform library for HIP
  • hiprand - Random number generation library for HIP

ROCm Native Math Libraries

  • rocblas - Optimized BLAS implementation for ROCm
  • rocfft - Fast Fourier Transform library for ROCm
  • rocprim - Parallel primitives library for ROCm
  • rocrand - Random number generation library for ROCm
  • rocsolver - LAPACK implementation for ROCm
  • rocsparse - Sparse linear algebra library for ROCm
  • rocthrust - C++ parallel algorithms library (Thrust port for ROCm)
  • rocwmma - Wave Matrix Multiply-Accumulate for mixed-precision matrix operations

Deep Learning & Neural Network Libraries

  • composable-kernel - High-performance composable GPU kernels for AI
  • miopen-hip - Deep learning primitives library (ROCm's equivalent to cuDNN)
  • hipdnn - Deep neural network library wrapper

Additional ROCm Ecosystem Packages

These packages are part of the broader ROCm ecosystem but are maintained separately from the rocm-systems and rocm-libraries super-repositories:

AI/ML Frameworks & Optimization

  • migraphx - AMD's graph optimization engine for neural networks
  • mivisionx - Computer vision and machine learning inference toolkit
  • rocal - ROCm Augmentation Library for data augmentation in ML pipelines

Communication Libraries

  • rccl - ROCm Communication Collectives Library (NCCL equivalent for multi-GPU)

Performance & Validation Tools

  • rocm-bandwidth-test - Memory bandwidth testing utility
  • rocm-validation-suite - ROCm Validation Suite (RVS) for qualification testing
  • transferbench - Multi-GPU memory transfer benchmark tool
  • rpp - ROCm Performance Primitives for image processing

Development & Build Support

  • rocm-cmake - CMake modules and utilities for ROCm projects
  • rocm-examples - Example codes demonstrating ROCm APIs and libraries
  • rocmlir - MLIR-based compiler tools for ROCm

Language Bindings

  • hipfort - Fortran interface library for HIP

Build Dependencies

  • grpc - Updated gRPC version for ROCm tool compatibility
  • py-barectf - CTF trace generator (added pkg-resources compatibility patch)

Key Changes in This Release

1. Version Bump

  • All ROCm packages updated to therock-7.13.0
  • Synchronized version across entire ROCm software stack

2. LLVM Toolchain Update

  • Therock 7.13.0 now provides LLVM 23
  • Therock 7.2 continues to use LLVM 22
  • Updated compiler infrastructure for improved GPU code generation

3. Build System Improvements

  • Transitioned to rocm_url_map: Centralized URL management replaces per-package url_for_version() methods
  • Device library path fix: Added --rocm-device-lib-path flag to clang commands to resolve device library discovery issues
  • Dependency updates: Updated libdrm dependency for amdsmi 7.13 compatibility
  • Boost handling: Removed forceful system Boost usage, allowing more flexible dependency resolution

4. Patches & Fixes

  • rocm-debug-agent: Updated Werror flag handling patch for 7.13
  • rocm-validation-suite:
    • Added pciutils include/lib path fix (patch 011)
    • Added hiprand includes fix (patch 013)
  • rocwmma:
    • Fixed libopenmp.so and libamdhip64.so discovery issues (patch 0003)
    • Disabled benchmark tests (ROCWMMA_BUILD_BENCHMARK_TESTS=OFF) for 7.13+ (to be enabled later)
  • rocm-examples: Disabled rocDecode examples (ROCM_EXAMPLES_ENABLE_ROCDECODE=OFF) for 7.13+ due to upstream path issues
  • py-barectf: Added pkg-resources compatibility patch
  • hsa-rocr-dev: Added rocm-device-lib-path.patch

5. Code Quality

  • Applied style fixes across all updated packages
  • Ensured consistency with Spack package guidelines

ROCm Packages NOT Updated to 7.13 in This PR

The following ROCm packages are included in TheRock but remain at version 7.2.3 and are not updated to 7.13.0 in this PR:

  • rocalution - Sparse iterative solvers library for rocSPARSE
  • rocm-openmp-extras - AOMP (AMD Optimizing C/C++ & Fortran Compilers) OpenMP extras
  • rocm-tensile - Tensor library (used as a backend for rocBLAS)
  • rocpydecode - Python interface for hardware-accelerated video decoding

These packages are part of TheRock but are maintained separately and follow their own release schedule. While they are integrated into TheRock 7.13, their package versions remain at 7.2.3 rather than being bumped to match the 7.13.0 release version.


Package Statistics

  • Total packages updated in this PR: 64
  • ROCm Systems packages: 24+
  • ROCm Libraries packages: 21+
  • Additional ecosystem packages: 10+
  • Build/development support packages: 5+
  • ROCm packages remaining at 7.2.3: 4

Testing & Validation

TheRock's build system enables comprehensive multi-component testing:

  • Integration testing across the entire ROCm stack
  • Validation of inter-package dependencies
  • Nightly CI/CD builds ensuring stability
  • Cross-platform compatibility verification

Related Links

@spackbot-triage spackbot-triage Bot added new-version Modifications to packages' `depends_on()` directives python dependencies Modifications with a `depends_on()` directive resources patch Modifications to packages' sets of defined patches update-package Modifications to packages in the repository labels May 28, 2026
@renjithravindrankannath

This comment was marked as outdated.

@spackbot-app

This comment was marked as outdated.

@spackbot-app

This comment was marked as outdated.

@renjithravindrankannath

This comment was marked as outdated.

@spackbot-app

This comment was marked as outdated.

@renjithravindrankannath

Copy link
Copy Markdown
Contributor Author

@spackbot fix style

@spackbot-app

spackbot-app Bot commented Jun 12, 2026

Copy link
Copy Markdown

Let me see if I can fix that for you!

@spackbot-app

spackbot-app Bot commented Jun 12, 2026

Copy link
Copy Markdown

I was able to run spack style --fix for you!

spack style --fix
repos/spack_repo/builtin/packages/amdsmi/package.py
repos/spack_repo/builtin/packages/comgr/package.py
repos/spack_repo/builtin/packages/composable_kernel/package.py
repos/spack_repo/builtin/packages/grpc/package.py
repos/spack_repo/builtin/packages/hip/package.py
repos/spack_repo/builtin/packages/hip_tensor/package.py
repos/spack_repo/builtin/packages/hip_tests/package.py
repos/spack_repo/builtin/packages/hipblas/package.py
repos/spack_repo/builtin/packages/hipblas_common/package.py
repos/spack_repo/builtin/packages/hipblaslt/package.py
repos/spack_repo/builtin/packages/hipcc/package.py
repos/spack_repo/builtin/packages/hipcub/package.py
repos/spack_repo/builtin/packages/hipdnn/package.py
repos/spack_repo/builtin/packages/hipfft/package.py
repos/spack_repo/builtin/packages/hipify_clang/package.py
repos/spack_repo/builtin/packages/hiprand/package.py
repos/spack_repo/builtin/packages/hipsolver/package.py
repos/spack_repo/builtin/packages/hipsparse/package.py
repos/spack_repo/builtin/packages/hipsparselt/package.py
repos/spack_repo/builtin/packages/hsa_amd_aqlprofile/package.py
repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py
repos/spack_repo/builtin/packages/llvm_amdgpu/package.py
repos/spack_repo/builtin/packages/migraphx/package.py
repos/spack_repo/builtin/packages/miopen_hip/package.py
repos/spack_repo/builtin/packages/mivisionx/package.py
repos/spack_repo/builtin/packages/py_barectf/package.py
repos/spack_repo/builtin/packages/rccl/package.py
repos/spack_repo/builtin/packages/rdc/package.py
repos/spack_repo/builtin/packages/rocblas/package.py
repos/spack_repo/builtin/packages/rocfft/package.py
repos/spack_repo/builtin/packages/rocm_cmake/package.py
repos/spack_repo/builtin/packages/rocm_core/package.py
repos/spack_repo/builtin/packages/rocm_dbgapi/package.py
repos/spack_repo/builtin/packages/rocm_debug_agent/package.py
repos/spack_repo/builtin/packages/rocm_device_libs/package.py
repos/spack_repo/builtin/packages/rocm_gdb/package.py
repos/spack_repo/builtin/packages/rocm_opencl/package.py
repos/spack_repo/builtin/packages/rocm_smi_lib/package.py
repos/spack_repo/builtin/packages/rocm_validation_suite/package.py
repos/spack_repo/builtin/packages/rocminfo/package.py
repos/spack_repo/builtin/packages/rocmlir/package.py
repos/spack_repo/builtin/packages/rocprim/package.py
repos/spack_repo/builtin/packages/rocprofiler_compute/package.py
repos/spack_repo/builtin/packages/rocprofiler_dev/package.py
repos/spack_repo/builtin/packages/rocprofiler_register/package.py
repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py
repos/spack_repo/builtin/packages/rocprofiler_systems/package.py
repos/spack_repo/builtin/packages/rocrand/package.py
repos/spack_repo/builtin/packages/rocshmem/package.py
repos/spack_repo/builtin/packages/rocsolver/package.py
repos/spack_repo/builtin/packages/rocsparse/package.py
repos/spack_repo/builtin/packages/rocthrust/package.py
repos/spack_repo/builtin/packages/roctracer_dev/package.py
repos/spack_repo/builtin/packages/roctracer_dev_api/package.py
repos/spack_repo/builtin/packages/rocwmma/package.py
repos/spack_repo/builtin/packages/rpp/package.py
�[1;34m==> �[0mrunning ruff format
1 file reformatted, 55 files left unchanged
�[1;34m==> �[0mrunning ruff check
All checks passed!
�[1;34m==> �[0mstyle checks passed
Keep in mind that I cannot fix your flake8 or mypy errors, so if you have any you'll need to fix them and update the pull request. If I was able to push to your branch, if you make further changes you will need to pull from your updated branch before pushing again.

I've updated the branch with style fixes.

@renjithravindrankannath renjithravindrankannath changed the title Bump up the version for rocm-7.13.0 release Bump up the version for therock-7.13.0 release Jun 15, 2026
Comment thread repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/hip_tests/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/rocprofiler_compute/package.py Outdated
@spackbot-triage
spackbot-triage Bot requested a review from srekolam June 15, 2026 16:19
@afzpatel

Copy link
Copy Markdown
Contributor

@spackbot rerun pipeline

@spackbot-app

spackbot-app Bot commented Jun 17, 2026

Copy link
Copy Markdown

I've started that pipeline for you!

@renjithravindrankannath

Copy link
Copy Markdown
Contributor Author

@spackbot rerun pipeline

@spackbot-app

spackbot-app Bot commented Jun 17, 2026

Copy link
Copy Markdown

I've started that pipeline for you!

@spackbot-triage
spackbot-triage Bot requested a review from bvanessen June 18, 2026 19:27
@renjithravindrankannath

Copy link
Copy Markdown
Contributor Author

@spackbot fix style

@srekolam

Copy link
Copy Markdown
Contributor

umpire@2023.06.0 was building using hip@7.0.2 and was accessing a member ,_memoryType' inside 'hipPointerAttribute_t' that i believe is deprecated a while ago. It should instead access Type inside 'hipPointerAttribute_t'.
Here is what i have observed inside the failing log
/home/software/spack/[padded-to-256-chars]/linux-x86_64_v3/camp-2023.06.0-2dc42likd4woqdlaatqu7ua6u23nde6q/include/camp/resource/hip.hpp:112:21: error: no member named 'memoryType' in 'hipPointerAttribute_t'
2026-07-23T20:49:17.430649Z 01O 112 | switch (a.memoryType) {

@srekolam

Copy link
Copy Markdown
Contributor

extending the patch patch("camp-rocm6.patch", when="@2023.06.0: +rocm ^hip@6:") inside camp package will fix the umpire build error.

@renjithravindrankannath

Copy link
Copy Markdown
Contributor Author

Hi @scheibelp,
The Umpire build failure is fixed by extending the patch camp-rocm6.patch to version 2022.03.0 to 2023.06.0 in the commit 5ef949b.
Please review and let us know if we are good to merge.
Thanks

Comment on lines 23 to 30

@bernhardkaindl bernhardkaindl Jul 24, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@renjithravindrankannath, the tarball and sha of rocmlir@7.13 should be the same as for @7.2.3?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no 7.13 tag for rocmlir. rocm-7.2.3 tag of rocmlir is compatible with therock-7.13.

@bernhardkaindl bernhardkaindl Jul 28, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack, this is like hipfort, rocal, and rocjpeg which also got no version("7.13.0").

However rocmlir was updated to re-release "7.2.3" as "7.13.0" as 2nd time (same source), which does not look right, and is not what those other packages do.

+       "7.13.0",
+        url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
+        sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
+    )
    version(
        "7.2.3",
        url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
        sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",

Those tarballs are the same, so it should just be used for 7.2.3 (as you said, there is no rocMLIR 7.13.0)

I assume there is just a misunderstanding, so I'll add suggestion to explain what I meant.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed 7.13 from rocmlir as suggested.

Comment thread repos/spack_repo/builtin/packages/migraphx/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/mivisionx/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/rpp/package.py Outdated
@bernhardkaindl

Copy link
Copy Markdown
Contributor

Besides the question I raised and the three minor suggestions, I'd also like to check with Copilot's review if it finds something not noted so far.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Spack ROCm/TheRock package set to support the therock-7.13.0 release, including aligning version metadata, migrating many packages to a centralized rocm_url_map-driven URL selection mechanism, and adding/refreshing patches and build adjustments needed for the new TheRock super-repo layout.

Changes:

  • Introduces ROCmLibrary.url_for_version() with per-package rocm_url_map to replace many bespoke url_for_version() implementations.
  • Adds 7.13.0 versions across a large set of ROCm packages and adjusts dependencies/build layout for TheRock/rocm-systems + rocm-libraries tag schemes.
  • Adds new patches and conditional build flags (e.g., rocWMMA OpenMP linkage workaround, ROCmValidationSuite 7.13 fixes, device-libs path fixes).

Reviewed changes

Copilot reviewed 72 out of 72 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
repos/spack_repo/builtin/build_systems/rocm.py Adds ROCmLibrary.url_for_version() driven by rocm_url_map.
repos/spack_repo/builtin/packages/transferbench/package.py Adds rocm_url_map for centralized URL generation.
repos/spack_repo/builtin/packages/rpp/package.py Adds 7.13.0 version and updates dependency condition list.
repos/spack_repo/builtin/packages/rocwmma/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, patch, and benchmark toggle logic.
repos/spack_repo/builtin/packages/rocwmma/0003-Fix-libopenmp.so-and-libamdhip64.so-not-found-error-7.13.patch Adds 7.13-specific CMake linkage workaround for OpenMP/HIP libs.
repos/spack_repo/builtin/packages/roctracer_dev/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/roctracer_dev_api/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/rocthrust/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/rocsparse/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0 and deps.
repos/spack_repo/builtin/packages/rocsolver/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0 and deps.
repos/spack_repo/builtin/packages/rocshmem/package.py Adds rocm_url_map, 7.13.0, deps, and TheRock root CMakeLists path handling.
repos/spack_repo/builtin/packages/rocrand/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0 and deps.
repos/spack_repo/builtin/packages/rocprofiler_systems/package.py Converts to ROCmLibrary, adds rocm_url_map, adds 7.13.0 git tag + submodules, and variant default changes by version.
repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py Converts to ROCmLibrary, adds rocm_url_map, adds 7.13.0 git tag + submodules, and dependency list updates.
repos/spack_repo/builtin/packages/rocprofiler_register/package.py Replaces url_for_version() with rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/rocprofiler_dev/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocprofiler_compute/package.py Adds rocm_url_map, 7.13.0, updates Python deps, adds LLVM/HIP deps by version, adds env setup and vendored-dir workaround.
repos/spack_repo/builtin/packages/rocprofiler_compute_viewer/package.py Converts to ROCmLibrary and replaces url_for_version() with rocm_url_map.
repos/spack_repo/builtin/packages/rocprim/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocmlir/package.py Adds a 7.13.0 version entry (currently pointing at 7.2.3 tarball).
repos/spack_repo/builtin/packages/rocminfo/package.py Replaces url_for_version() with rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocm_validation_suite/package.py Adds 7.13.0 source, new amdgpu_target variant, adds 7.13 patches and deps, and adjusts patch ranges.
repos/spack_repo/builtin/packages/rocm_validation_suite/011_add_inc_and_lib_path_for_pciutils-7.13.patch Adds pciutils include/lib discovery adjustments for 7.13.
repos/spack_repo/builtin/packages/rocm_validation_suite/013-add-hiprand-includes-7.13.patch Adds numactl discovery and fixes includes for hiprand/rocrand and pkg-config usage.
repos/spack_repo/builtin/packages/rocm_smi_lib/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocm_opencl/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocm_gdb/package.py Adds rocm_url_map and 7.13.0 version/deps.
repos/spack_repo/builtin/packages/rocm_examples/package.py Adds 7.13.0 and disables some examples/features for 7.13 due to upstream issues.
repos/spack_repo/builtin/packages/rocm_device_libs/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/rocm_debug_agent/package.py Adds rocm_url_map, 7.13.0, root CMakeLists path handling, and 7.13-specific patch selection.
repos/spack_repo/builtin/packages/rocm_debug_agent/0001-Drop-overly-strict-Werror-flag-7.13.patch Drops -Werror for 7.13 layout.
repos/spack_repo/builtin/packages/rocm_dbgapi/package.py Adds rocm_url_map, 7.13.0, root CMakeLists path handling, and adjusts patch paths for 7.13 layout.
repos/spack_repo/builtin/packages/rocm_core/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocm_cmake/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocm_bandwidth_test/package.py Adds rocm_url_map for URL generation.
repos/spack_repo/builtin/packages/rocjpeg/package.py Adds rocm_url_map.
repos/spack_repo/builtin/packages/rocfft/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/rocdecode/package.py Adds rocm_url_map, 7.13.0, deps, and root CMakeLists path handling for TheRock layout.
repos/spack_repo/builtin/packages/rocblas/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, and tightens patch range.
repos/spack_repo/builtin/packages/rocal/package.py Adds rocm_url_map.
repos/spack_repo/builtin/packages/rdc/package.py Adds 7.13.0 and updates url_for_version() for TheRock tag scheme.
repos/spack_repo/builtin/packages/rccl/package.py Adds 7.13.0 and updates url_for_version() for TheRock tag scheme.
repos/spack_repo/builtin/packages/py_barectf/package.py Adds patch application for pkg-resources compatibility.
repos/spack_repo/builtin/packages/py_barectf/fix-pkg-resources.patch Switches from pkg_resources to importlib.resources fallback logic.
repos/spack_repo/builtin/packages/mivisionx/package.py Adds rocm_url_map, 7.13.0 branch version, and updates rpp dependency to match amdgpu_target.
repos/spack_repo/builtin/packages/miopen_hip/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, expands rocmlir dep list, and disables MLIR for 7.13.
repos/spack_repo/builtin/packages/migraphx/package.py Adds rocm_url_map, 7.13.0 branch version, patch range tweak, expands deps, and disables MLIR for 7.13.
repos/spack_repo/builtin/packages/llvm_amdgpu/package.py Adds 7.13.0 URL logic, provides LLVM 23 for 7.13, adds resources and updates device-libs bitcode path for LLVM version.
repos/spack_repo/builtin/packages/hsa_rocr_dev/rocm-device-lib-path.patch Adds --rocm-device-lib-path to clang invocations when BITCODE_DIR is set.
repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, and applies device-lib-path patch for 7.13.
repos/spack_repo/builtin/packages/hsa_amd_aqlprofile/package.py Adds 7.13.0 and updates url_for_version() for TheRock tags; updates dependency list.
repos/spack_repo/builtin/packages/hipsparselt/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipsparse/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipsolver/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hiprand/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipify_clang/package.py Adds rocm_url_map, 7.13.0, and dependency list updates.
repos/spack_repo/builtin/packages/hipfort/package.py Adds rocm_url_map.
repos/spack_repo/builtin/packages/hipfft/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipdnn/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, and disables clang-tidy for 7.13.
repos/spack_repo/builtin/packages/hipcub/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipcc/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0.
repos/spack_repo/builtin/packages/hipblaslt/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipblas/package.py Converts to ROCmLibrary + rocm_url_map and adds 7.13.0/deps.
repos/spack_repo/builtin/packages/hipblas_common/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, and reorders version declarations.
repos/spack_repo/builtin/packages/hip/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, adds rocm-systems resource for 7.13, and adjusts layout paths for 7.13.
repos/spack_repo/builtin/packages/hip_tests/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, adds build dep for pyyaml, and tightens patch range.
repos/spack_repo/builtin/packages/hip_tensor/package.py Converts to ROCmLibrary + rocm_url_map, adds 7.13.0, and minor docstring normalization.
repos/spack_repo/builtin/packages/grpc/package.py Updates patch logic for glob.cc path change in grpc 1.67+.
repos/spack_repo/builtin/packages/composable_kernel/package.py Adds 7.13.0 and updates url_for_version() for TheRock tags.
repos/spack_repo/builtin/packages/comgr/package.py Adds 7.13.0 and updates url_for_version() for TheRock tags and deps.
repos/spack_repo/builtin/packages/camp/package.py Broadens rocm6 patch applicability range.
repos/spack_repo/builtin/packages/amdsmi/package.py Adds 7.13.0 and updates url_for_version() plus libdrm dependency constraints for 7.13.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread repos/spack_repo/builtin/packages/rocwmma/package.py Outdated
Comment on lines +22 to +26
version(
"7.13.0",
url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ack, requested also in #4964 (comment)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed 7.13 in rocmlir as suggested.

Comment thread repos/spack_repo/builtin/packages/rocm_device_libs/package.py
Comment on lines +27 to +31
rocm_url_map = [
("7.1.1", "https://github.com/ROCm/hipBLASLt/archive/refs/tags/rocm-{0}.tar.gz"),
("7.2.3", "https://github.com/ROCm/rocm-libraries/archive/rocm-{0}.tar.gz"),
(None, "https://github.com/ROCm/rocm-libraries/archive/refs/tags/therock-{1}.{2}.tar.gz"),
]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the download of 7.1.1 is still working I think that would not be a problem.

But hipblaslt@7.1.1 currently can'be concretized (not with develop either)

spack fetch hipblaslt@7.1.1
==> Error: failed to concretize `hipblaslt@7.1.1` for the following reasons:
     1. spdlog: '^fmt@11.1:' conflicts with '@:1.12'
     2. spdlog: '^fmt@11.1:' conflicts with '@:1.12'
        required because conflict constraint @:1.12
          required because hipblaslt depends on spdlog@:1.14 when @7.1:
            required because hipblaslt@7.1.1 requested explicitly
        required because conflict is triggered when ^fmt@11.1:
          required because spdlog depends on fmt@5.3:
            required because hipblaslt depends on spdlog@:1.14 when @7.1:
              required because hipblaslt@7.1.1 requested explicitly
          required because spdlog depends on fmt@7: when @1.7:
          required because spdlog depends on fmt@8: when @1.9:
          required because rocprofiler-register depends on fmt@:12.1 when @:7
            required because hsa-rocr-dev depends on rocprofiler-register@7.1.1 when @7.1.1
              required because roctracer-dev depends on hsa-rocr-dev@7.1.1 when @7.1.1
                required because hipblaslt depends on roctracer-dev@7.1.1 when @7.1.1
              required because rocminfo depends on hsa-rocr-dev@7.1.1 when @7.1.1
                required because roctracer-dev depends on rocminfo@7.1.1 when @7.1.1
                required because hip depends on rocminfo@7.1.1 when @7.1.1+rocm
                  required because roctracer-dev depends on hip@7.1.1+rocm when @7.1.1
                  required because hipblaslt depends on hip@7.1.1 when @7.1.1
              required because hip depends on hsa-rocr-dev@7.1.1 when @7.1.1+rocm
            required because hip depends on rocprofiler-register@7.1.1 when @7.1.1
          required because hipblaslt depends on fmt@11.1: when @7.0:
          required because hipblaslt depends on spdlog@:1.14 when @7.1:

Suggested fix: #5743

Comment thread repos/spack_repo/builtin/packages/hipsparselt/package.py
Comment thread repos/spack_repo/builtin/packages/rccl/package.py
scheibelp
scheibelp previously approved these changes Jul 26, 2026
@scheibelp

scheibelp commented Jul 26, 2026

Copy link
Copy Markdown
Member

Hi @renjithravindrankannath it looks like @bernhardkaindl found one issue two issues

The other comments in his review look like they can be done later, so I think that's the last thing (it LGTM)

@bernhardkaindl

Copy link
Copy Markdown
Contributor

Hi @renjithravindrankannath, thanks for working on the review feedback!

While there are still review comments being addressed, I don't think there's much benefit in running the full GitLab CI pipeline for every small fixup commit. It will likely be more efficient to wait until the review feedback has been addressed before triggering a full CI run.

Sorry that we don't currently have a label or query to defer the full GitLab CI pipeline until all review comments have been resolved. At the moment, the only mechanism we have is whether the PR is marked as a draft, which controls the pipeline behaviour.

Because of that, I'd suggest keeping the PR as a draft while you're working through the review feedback, and only marking it as Ready for review when you'd like the full GitLab CI pipeline to run again.

This is just a suggestion from me personally, and an idea is to just prefer allocating CI resources where they are most useful at this moment, and only temporary - and also to indicate that review feedback is currently being incorporated. It isn't intended to change the perception of the PR or the quality of the work in any way, and it certainly shouldn't influence anyone following or reviewing the PR. It's simply a convenient way for us to avoid unnecessary CI runs while the review comments are being addressed.

When you need to trigger a full CI run after a particular push, you can simply mark the PR as Ready for review around the time you push that change. That will clear the draft status and allow the full GitLab CI pipeline to run.

Comment thread repos/spack_repo/builtin/packages/migraphx/package.py Outdated
Co-authored-by: Afzal Patel <122491982+afzpatel@users.noreply.github.com>

@bernhardkaindl bernhardkaindl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just in case my suggestion is not shown below, this change request refers to this suggestion:
https://github.com/spack/spack-packages/pull/4964/changes#r3662006872

Comment on lines +22 to +26
version(
"7.13.0",
url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
)

@bernhardkaindl bernhardkaindl Jul 28, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@renjithravindrankannath, follow-up from #4964 (comment):

As you said, rocMLIR has no 7.13 release, so it should not be added as a copy of 7.2.3:

7.13.0 is defined with the exact same tarball URL (rocm-7.2.3.tar.gz) and sha256 as 7.2.3, which makes the version metadata inconsistent and likely incorrect for a 7.13.0 bump.

To not duplicate 7.2.3 as 7.13, remove those added lines again:

Suggested change
version(
"7.13.0",
url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
)

This should be fine because using git grep -B2 rocmlir, I also found no dependency on rocmlir@7.13 therefore does not need to be created (like the current PR diff would do):

repos/spack_repo/builtin/packages/migraphx/package.py-
repos/spack_repo/builtin/packages/migraphx/package.py-    for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2", "6.2.0", "6.2.1", "6.2.4"]:
repos/spack_repo/builtin/packages/migraphx/package.py:        depends_on(f"rocmlir@{ver}", when=f"@{ver}")
--
repos/spack_repo/builtin/packages/migraphx/package.py-        "7.2.3",
repos/spack_repo/builtin/packages/migraphx/package.py-    ]:
repos/spack_repo/builtin/packages/migraphx/package.py:        depends_on(f"rocmlir@{ver}", when=f"@{ver}")
--
repos/spack_repo/builtin/packages/miopen_hip/package.py-        "7.2.3",
repos/spack_repo/builtin/packages/miopen_hip/package.py-    ]:
repos/spack_repo/builtin/packages/miopen_hip/package.py:        depends_on(f"rocmlir@{ver}", when=f"@{ver}")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated rocmlir and other packages depending rocmlir.

@bernhardkaindl

bernhardkaindl commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

@renjithravindrankannath, AFAICS, the commit of reverting adding a rocmlir@7.13 version with source of rocm-7.2.3 hasn't been pushed yet:

$ git pull
$ git log -1 --oneline
f3231652f2 (HEAD -> therock) Removing tuple expression
$ git log -1 -p repos/spack_repo/builtin/packages/rocmlir/package.py|grep -C1 ^+
--- a/repos/spack_repo/builtin/packages/rocmlir/package.py
+++ b/repos/spack_repo/builtin/packages/rocmlir/package.py
@@ -19,6 +19,11 @@ class Rocmlir(CMakePackage):
--
     maintainers("srekolam", "afzpatel", "renjithravindrankannath")
+    version(
+        "7.13.0",
+        url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
+        sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
+    )
     version(
--
         "7.2.3",
+        "7.13.0",
     ]:

Can you push the commmit to revert change?

@bernhardkaindl

bernhardkaindl commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

With the new updates, hipblaslt@7.13 can now be concretized.

Concretizing hipblaslt@7.1 and hipblaslt@7.2 is still not possible: #4964 (comment)

$ git log -1 --oneline
f3231652f2 (HEAD -> therock) Removing tuple expression
$ spack spec hipblaslt@7.1.1
==> Error: failed to concretize `hipblaslt@7.1.1` for the following reasons:
     1. spdlog: '^fmt@11.1:' conflicts with '@:1.12'
     2. spdlog: '^fmt@11.1:' conflicts with '@:1.12'
        required because conflict constraint @:1.12
          required because hipblaslt depends on spdlog@:1.14 when @7.1:7.2
            required because hipblaslt@7.1.1 requested explicitly
        required because conflict is triggered when ^fmt@11.1:
          required because spdlog depends on fmt@5.3:
            required because hipblaslt depends on spdlog@:1.14 when @7.1:7.2
              required because hipblaslt@7.1.1 requested explicitly
          required because spdlog depends on fmt@7: when @1.7:
          required because spdlog depends on fmt@8: when @1.9:
          required because rocprofiler-register depends on fmt@:12.1 when @:7
            required because hsa-rocr-dev depends on rocprofiler-register@7.1.1 when @7.1.1
              required because roctracer-dev depends on hsa-rocr-dev@7.1.1 when @7.1.1
                required because hipblaslt depends on roctracer-dev@7.1.1 when @7.1.1
              required because rocminfo depends on hsa-rocr-dev@7.1.1 when @7.1.1
                required because roctracer-dev depends on rocminfo@7.1.1 when @7.1.1
                required because hip depends on rocminfo@7.1.1 when @7.1.1+rocm
                  required because roctracer-dev depends on hip@7.1.1+rocm when @7.1.1
                  required because hipblaslt depends on hip@7.1.1 when @7.1.1
              required because hip depends on hsa-rocr-dev@7.1.1 when @7.1.1+rocm
            required because hip depends on rocprofiler-register@7.1.1 when @7.1.1
          required because hipblaslt depends on fmt@11.1: when @7.0:
          required because hipblaslt depends on spdlog@:1.14 when @7.1:7.2

I know this wasn't caused by this PR, but I wanted to remind that this issue wasn't solved.

7.2.x which need the old spdlog/fmt pair,
while allowing:
  - Versions 7.0.0 and 7.0.2 to use fmt@11.1+
  - Versions 7.13.0+ to use fmt@11.1+
  - Versions 7.1.x and 7.2.x to use the
 compatible old fmt version with spdlog@:1.14
@renjithravindrankannath

Copy link
Copy Markdown
Contributor Author
spack spec hipblaslt@7.1.1

Thanks for pointing that. Updated the dependency to exclude versions 7.1.x and 7.2.x which need the old spdlog/fmt pair, while allowing:

  • Versions 7.0.0 and 7.0.2 to use fmt@11.1+
  • Versions 7.13.0+ to use fmt@11.1+
  • Versions 7.1.x and 7.2.x to use the compatible old fmt version with spdlog@:1.14

@renjithravindrankannath

renjithravindrankannath commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

@renjithravindrankannath, AFAICS, the commit of reverting adding a rocmlir@7.13 version with source of rocm-7.2.3 hasn't been pushed yet:

$ git pull
$ git log -1 --oneline
f3231652f2 (HEAD -> therock) Removing tuple expression
$ git log -1 -p repos/spack_repo/builtin/packages/rocmlir/package.py|grep -C1 ^+
--- a/repos/spack_repo/builtin/packages/rocmlir/package.py
+++ b/repos/spack_repo/builtin/packages/rocmlir/package.py
@@ -19,6 +19,11 @@ class Rocmlir(CMakePackage):
--
     maintainers("srekolam", "afzpatel", "renjithravindrankannath")
+    version(
+        "7.13.0",
+        url="https://github.com/ROCm/rocMLIR/archive/refs/tags/rocm-7.2.3.tar.gz",
+        sha256="415eacd1fbd916e2f62cd7b8acad0bf8b66cdac0211ebce09eca931843c2dce2",
+    )
     version(
--
         "7.2.3",
+        "7.13.0",
     ]:

Can you push the commmit to revert change?

rocmlir file change was missed in the earlier commit. Just pushed the same. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build-systems Related to package build systems dependencies Modifications with a `depends_on()` directive new-version Modifications to packages' `depends_on()` directives patch Modifications to packages' sets of defined patches resources update-package Modifications to packages in the repository virtual-dependencies Modifications to virtual package dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants