gpo.zugaina.org

Search Portage & Overlays:

dev-util/Tensile

A tool for creating a benchmark-driven GEMMs and tensor contractions code

Screenshots

  • Tensile-9999
    client test test python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 +llvm_slot_22 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: gentoo
  • Tensile-7.2.0-r1
    ~amd64
    client test test python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 +llvm_slot_22 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: gentoo
  • Tensile-7.1.0-r1
    ~amd64
    client test test python_targets_python3_12 python_targets_python3_13 +llvm_slot_20 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: gentoo
  • Tensile-7.0.2
    ~amd64
    client test test python_targets_python3_12 python_targets_python3_13 +llvm_slot_20 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: gentoo
  • Tensile-6.4.3
    ~amd64
    client test test python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 +llvm_slot_21 llvm_slot_20 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: FireBurn
  • Tensile-6.4.3
    ~amd64
    client test test python_targets_python3_12 python_targets_python3_13 +llvm_slot_20 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: MIT   
    Overlay: gentoo
  • Tensile-6.3.3
    ~amd64
    client test test python_targets_python3_12 python_targets_python3_13 +llvm_slot_19 +amdgpu_targets_gfx906 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1101 amdgpu_targets_gfx1102

    View      Download      Browse     License: MIT   
    Overlay: gentoo

ChangeLog

commit f644e2a9ff923c7d77f0aca7c01a8048bb8f12bc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 03:41:41 2026 +0200

dev-util/Tensile: trim 10.0.0 comment prose

commit 8735045e5d99074fd4fc9edde46b4b178a432b05
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 3 19:13:54 2026 +0200

dev-util/Tensile: drop unreachable test plumbing in 10.0.0

RESTRICT="test" is unconditional here, so src_test can never run -- yet
the ebuild carried a full test apparatus behind it: IUSE=test, a test?
BDEPEND on filelock and joblib, EPYTEST_PLUGINS, distutils_enable_tests
and a python_test that exported ROCM_PATH.

None of it could execute. What it did do was advertise a USE flag that
changes nothing while still pulling two build dependencies for anyone
who set it.

The reason the phase is restricted -- upstream's tests can freeze the
machine depending on the GPU and kernel -- moves into the comment above
RESTRICT, where it explains the restriction instead of sitting as a
bare aside.

commit db556ce11ed0417a69b9bcc61b29f07fd8a70cf2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 22:15:37 2026 +0200

dev-util/Tensile: assert every src_prepare sed anchor

Tensile had the largest unguarded sed surface left in the 10.0 stack: eight
substitutions, none of them checked. `sed` exits 0 on no-match, so any one of
these silently becoming a no-op yields a Tensile that builds and installs
cleanly and is then wrong at runtime for rocBLAS -- the worst shape of failure
this package can have, since rocBLAS consumes it as generated kernel machinery
rather than calling into it directly.

Each anchor now asserts, with a message naming what breaks if it moves:
- @LLVM_PATH@ in the gentoopath patch template (else the generated patch
ships the literal placeholder)
- ROCM_SMI_ROOT (wrong libdir on multilib)
- TENSILE_USE_LLVM (LLVM path stays enabled)
- ${Tensile_ROOT}/bin/ (consumers invoke a nonexistent path)
- HipClangVersion's 0.0.0 placeholder (compiler capability misdetection)
- the os.path.dirname(os.path.realpath(__file__)) share-dir rewrite, checked
per file across all three targets
- os.path.dirname in __init__.py (Source path not rewritten)
- amdclang in Utilities/Toolchain.py -- TensileLite resolves its compiler and
assembler by BARE NAME, so a miss leaves it validating against a compiler
Gentoo does not install

All eight verified present against the therock-10.0 source, and the
substitutions verified by effect rather than exit status: FindROCmSMI.cmake
carries lib64, TENSILE_USE_LLVM is OFF, Tensile_ROOT/bin and the 0.0.0
placeholder and amdclang are all gone, the share dir resolves to
/usr/share/Tensile, and the generated gentoopath.patch has zero @LLVM_PATH@
left and points at /usr/lib/llvm/23.

commit 546baa2e807cef0562322c261664a409867dd71e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 18:54:33 2026 +0200

dev-util/Tensile: reindent metadata.xml, drop unreferenced patches

Forked from ::gentoo at 10.0.0 with files/ and metadata.xml copied verbatim.
Two leftovers of that copy:

metadata.xml used tab indentation. Every other ROCm package imported into
this overlay -- hip, hipcc, rccl, rocBLAS, hipBLASLt, composable-kernel --
uses 2-space, so this was the odd one out. Whitespace only: `git diff -w` is
empty. The ::gentoo maintainer list is kept deliberately, because that is
what the other imported ROCm packages do; whether these forks should carry a
::stuff maintainer instead is a decision for the whole cohort, not something
to change on one package in a cleanup commit.

files/ carried seven patches, of which this overlay references five: four in
PATCHES and Tensile-5.7.1-gentoopath.patch, applied via the src_prepare sed
that interpolates @LLVM_PATH@ before eapply. The other two were consumed only
by ::gentoo's 6.1/6.3 ebuilds, which were not forked -- ::stuff has 10.0.0
only -- so they were dead weight a future reader would have had to evaluate.

commit a88c98e4bbc12ad29c7d5c0036ea51499082773c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 09:55:26 2026 +0200

ROCm 10.0: slot the rocm-cmake deps, drop a stale Tensile sed, widen a guard

Six packages depended on dev-build/rocm-cmake unslotted while their peers used
:$. Emerging an individual masked 10.0 package could therefore satisfy
the build dep with 7.2.x. Now consistent across the cohort:
rocm-device-libs, rocm-opencl-runtime (which also carried a stale
">=dev-build/rocm-cmake-6.0" bound), composable-kernel, hipBLAS-common,
rocPRIM and rocRAND (twice -- DEPEND and BDEPEND).

Tensile: the v_dot4_i32_i8 syntax fix for clang-20 (bug 949817) is upstream at
10.0. Components/MAC_I8X4.py no longer emits the op_sel/op_sel_hi operands the
sed stripped, so it matched nothing. Dropped.

composable-kernel: the OOM-flag guard checked only -amdgpu-early-inline-all
while the sed removes -amdgpu-function-calls too; both are now asserted. A
silent miss on either reintroduces a build that exhausts RAM rather than
failing fast.

commit 73c3e54d2fb3d3981e8d2b9d2f8d869cb4b73c01
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Aug 29 20:16:51 2026 +0200

dev-util/Tensile: new package, fork ::gentoo's 7.2.0-r1 at 10.0.0

sci-libs/rocBLAS pins dev-util/Tensile:$, so a ROCm 10.0 rocBLAS needs a
matching-subslot Tensile; ::gentoo stops at 7.2.x.

Forked from ::gentoo's Tensile-7.2.0-r1 with SRC_URI retargeted to the
therock-<major.minor> rocm-libraries asset, the 9999 branch's hardcoded
SLOT_NOLIVE bumped to 0/10.0, and LLVM_COMPAT moved to 23 to match the rest of
the cohort. All five patches apply unchanged.

commit 8a7082f1ba65632398134de525d263330415ac96
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Dec 6 21:51:11 2025 +0100

*/*: drop rocm/hip as newer version is in main tree

Signed-off-by: Ivan S. Titov <iohann.s.titov@gmail.com>

commit 4a348600878976d6c012165a3a13ef4af34efe02
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 18 17:40:22 2025 +0200

added Tensile-6.4.4