Repository navigation
rocmPackages_10: add Tensile and rocBLAS - #24
Closed
randomizedcoder wants to merge 3 commits into
Closed
randomizedcoder wants to merge 3 commits into
randomizedcoder wants to merge 3 commits into
Conversation
randomizedcoder
force-pushed
the
rocm10/07-tensile-rocblas
branch
from
October 15, 2026 23:02
0f84a57 to
6b000b8
Compare
randomizedcoder
force-pushed
the
rocm10/06-hipblaslt
branch
2 times, most recently
from
October 17, 2026 02:50
202550d to
742a184
Compare
randomizedcoder
force-pushed
the
rocm10/07-tensile-rocblas
branch
from
October 17, 2026 02:50
6b000b8 to
6b95357
Compare
randomizedcoder
force-pushed
the
rocm10/06-hipblaslt
branch
from
October 17, 2026 16:20
742a184 to
a470fd8
Compare
randomizedcoder
force-pushed
the
rocm10/07-tensile-rocblas
branch
3 times, most recently
from
October 21, 2026 07:15
e278b88 to
c13eb13
Compare
randomizedcoder
force-pushed
the
rocm10/06-hipblaslt
branch
from
October 21, 2026 07:15
0e58ffa to
a2294a3
Compare
randomizedcoder
force-pushed
the
rocm10/07-tensile-rocblas
branch
from
October 22, 2026 14:51
c13eb13 to
e268c5f
Compare
randomizedcoder
force-pushed
the
rocm10/06-hipblaslt
branch
from
October 22, 2026 14:51
a2294a3 to
53d11e5
Compare
Verbatim copies of the rocmPackages (ROCm 7.2.4) expressions for tensile, rocblas, not yet part of the rocmPackages_10 scope. The following commits update each one to ROCm 10.1, so their diffs read against 7.2.4. Assisted-by: Claude Code (claude-opus-5-5)
Update the rocmPackages.tensile copy from the previous commit to ROCm 10.1 and add it to the rocmPackages_10 scope. Source/version bump only. Assisted-by: Claude Code (claude-opus-5-5)
Update the rocmPackages.rocblas copy from the previous commit to ROCm 10.1 and add it to the rocmPackages_10 scope. From "rocmPackages.rocblas: split Tensile kernels into per-arch shards": Introduce a per-architecture Tensile "shard" split for rocBLAS: base.nix is the raw single-/multi-arch builder (the former default.nix), and default.nix now assembles one joined output from per-arch shards. For a multi-arch build the host librocblas.so + headers + cmake are built once for the head arch, and every other arch's self-contained lib/rocblas/library/<gfx>/ Tensile directory is built as a separate minimal shard and merged in postInstall. rocBLAS builds Tensile with SEPARATE_ARCHITECTURES + LAZY_LIBRARY_LOADING, so in a shared build the kernels are not linked into librocblas.so; each per-arch dir is loaded by path at runtime, making the join a plain per-arch-dir merge with no relink. Single-arch scopes (e.g. rocmPackages.gfx906.*) have no tail archs and return the base build verbatim, so their derivation stays byte-identical to before the split. The merge strips the shard store path that Tensile bakes into a per-arch code object's ELF metadata (remove-references-to). That reference is not load-bearing -- the unsplit multi-arch build self-references $out in the same spot and runs fine -- and disallowedReferences guards against a regression. Validated on a gfx1102 (Radeon Pro W7500): a [gfx906-head, gfx1102-shard] join runs a correct rocBLAS SGEMM on the gfx1102 hardware, loading the merged gfx1102 Tensile directory from the joined output. From "rocmPackages.rocblas: 7.2.4 -> 10.1.0": - Clients switched rocm_smi -> amd_smi (find_package(amd_smi CONFIG REQUIRED)); add amdsmi for the test/benchmark builds. - Drop the GZGavinZhao "Extend rocBLAS HIP ISA compatibility" patch: library/src/handle.cpp now has explicit Processor::gfx906/gfx90c cases, so with gfx906 in gpuTargets Tensile builds real gfx906 kernels. - Give cblas an explicit -L. rocBLAS compiles with the unwrapped rocm-toolchain clang, so buildInput lib dirs are not injected into the clang-linker-wrapper host-link path. With LLVM 24 the rocm-cmake rocm_check_target_ids probe (run before find_package(BLAS)) does a full --hip-link, and CMake seeds CMAKE_EXE_LINKER_FLAGS from $LDFLAGS, so a bare `-lcblas` makes that probe fail, emptying the supported-target list and aborting with "Unsupported target". Add amd-blis's libdir. - Drop the testing_logging.hpp /usr/bin/diff substitution; the source no longer shells out to it. - ROCm 10 installs a bin/rocblas/ CTest scaffolding dir alongside the client yaml/txt, so remove the whole bin/ tree from the library output. Revised during the split review: Forward package overrides to base.nix and read the effective settings from its passthru. Shard only builds whose Tensile libraries are separate-architecture and lazily loaded; use the base build otherwise. Omit -lzstd and the Tensile reference removal when Tensile is disabled. Assisted-by: Claude Code (claude-opus-5-5)
randomizedcoder
force-pushed
the
rocm10/07-tensile-rocblas
branch
from
October 27, 2026 04:12
e268c5f to
c0ec6f6
Compare
This was referenced Oct 27, 2026
Closed
Owner
Author
|
Opened upstream as NixOS#579520. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 7/14. Part of splitting upstream PR 573885 (
rocmPackages: 7.2.4 -> 10.1) into smaller PRs, as asked in its review.rocmPackages_10:tensile,rocblasmaster. No existing derivation changes:rocmPackages_10is not recursed intoHow to review
rocm-modules/10/Notes
rocblasrocblas_baseis marked broken (likecomposable_kernel_base), so Hydra never builds the all-arch base directlyrocblas.override { buildTests = false; }are passed on tobase.nixTesting
rocmPackages_10evaluates: 47 derivations, 0 failuresSeries
Preparatory PRs, each against
master: #10, #11, #15, #16, #17.master🤖 Generated with Claude Code