public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/hipblaslt] rawhide: Update preview to 7.14
@ 2026-08-06 23:35 Tom Rix
0 siblings, 0 replies; only message in thread
From: Tom Rix @ 2026-08-06 23:35 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/hipblaslt
Branch : rawhide
Commit : d4b4bc0cd3f0f7307ae2267579d12152c7005bc7
Author : Tom Rix <Tom.Rix@amd.com>
Date : 2026-08-06T16:35:20-07:00
Stats : +325/-46 in 6 file(s)
URL : https://src.fedoraproject.org/rpms/hipblaslt/c/d4b4bc0cd3f0f7307ae2267579d12152c7005bc7?branch=rawhide
Log:
Update preview to 7.14
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
---
diff --git a/0001-hipblaslt-preview-cmake-jobpools.patch b/0001-hipblaslt-preview-cmake-jobpools.patch
new file mode 100644
index 0000000..075dd4b
--- /dev/null
+++ b/0001-hipblaslt-preview-cmake-jobpools.patch
@@ -0,0 +1,49 @@
+From dcc36d33ff711e26ae73967367ffcab5f6ae7876 Mon Sep 17 00:00:00 2001
+From: Tom Rix <Tom.Rix@amd.com>
+Date: Mon, 27 Jul 2026 08:40:12 -0700
+Subject: [PATCH] hipblaslt preview cmake jobpools
+
+---
+ projects/hipblaslt/CMakeLists.txt | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/projects/hipblaslt/CMakeLists.txt b/projects/hipblaslt/CMakeLists.txt
+index 529ec2bd6f0e..451ea92c0b15 100644
+--- a/projects/hipblaslt/CMakeLists.txt
++++ b/projects/hipblaslt/CMakeLists.txt
+@@ -67,6 +67,32 @@ option(HIPBLASLT_ENABLE_COVERAGE "Build coverage support." OFF)
+ option(HIPBLASLT_ENABLE_THEROCK "Build hipBLASLt for TheRock." OFF)
+ option(HIPBLASLT_VALIDATE_INSTALL "Run post-install per-base layout / .dat integrity checks on the install tree." OFF)
+
++#
++# Seperate linking jobs from compiling
++# Too many concurrent linking jobs can break the build
++# Copied from LLVM
++set(HIPBLASLT_PARALLEL_LINK_JOBS "" CACHE STRING
++ "Define the maximum number of concurrent link jobs (Ninja only).")
++if(CMAKE_GENERATOR MATCHES "Ninja")
++ if(HIPBLASLT_PARALLEL_LINK_JOBS)
++ set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${HIPBLASLT_PARALLEL_LINK_JOBS})
++ set(CMAKE_JOB_POOL_LINK link_job_pool)
++ endif()
++elseif(HIPBLASLT_PARALLEL_LINK_JOBS)
++ message(WARNING "Job pooling is only available with Ninja generators.")
++endif()
++# Similar for compiling
++set(HIPBLASLT_PARALLEL_COMPILE_JOBS "" CACHE STRING
++ "Define the maximum number of concurrent compile jobs (Ninja only).")
++if(CMAKE_GENERATOR MATCHES "Ninja")
++ if(HIPBLASLT_PARALLEL_COMPILE_JOBS)
++ set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${HIPBLASLT_PARALLEL_COMPILE_JOBS})
++ set(CMAKE_JOB_POOL_COMPILE compile_job_pool)
++ endif()
++elseif(HIPBLASLT_PARALLEL_COMPILE_JOBS)
++ message(WARNING "Job pooling is only available with Ninja generators.")
++endif()
++
+ option(TENSILELITE_ENABLE_HOST "Build the tensilelite host library." ON)
+ option(TENSILELITE_BUILD_TESTING "Build client when building tests" OFF)
+ option(TENSILELITE_ENABLE_CLIENT "Build tensilelite client" ${TENSILELITE_BUILD_TESTING})
+--
+2.54.0
+
diff --git a/0001-hipblaslt-preview-find-origami-package.patch b/0001-hipblaslt-preview-find-origami-package.patch
index 6d70064..5e22ff1 100644
--- a/0001-hipblaslt-preview-find-origami-package.patch
+++ b/0001-hipblaslt-preview-find-origami-package.patch
@@ -1,31 +1,32 @@
-From 72f253a5f1603d6a02e2a5ba160754feca956a45 Mon Sep 17 00:00:00 2001
+From 4c4c73ed8b5876271b0ed355aaeef4f17d9a1e15 Mon Sep 17 00:00:00 2001
From: Tom Rix <Tom.Rix@amd.com>
-Date: Tue, 26 May 2026 13:49:18 -0700
+Date: Mon, 27 Jul 2026 09:42:05 -0700
Subject: [PATCH] hipblaslt preview find origami package
---
- projects/hipblaslt/CMakeLists.txt | 15 +--------------
- 1 file changed, 1 insertion(+), 14 deletions(-)
+ projects/hipblaslt/CMakeLists.txt | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/projects/hipblaslt/CMakeLists.txt b/projects/hipblaslt/CMakeLists.txt
-index 11b8fdfe5c3c..eea341127604 100644
+index 451ea92c0b15..aa0baef5075b 100644
--- a/projects/hipblaslt/CMakeLists.txt
+++ b/projects/hipblaslt/CMakeLists.txt
-@@ -244,20 +244,7 @@ if(NOT HIPBLASLT_ENABLE_YAML)
+@@ -281,21 +281,7 @@ if(NOT HIPBLASLT_ENABLE_YAML)
endif()
endif()
-if(NOT ROCM_LIBS_SUPERBUILD)
-- # TODO: Temporarily disabled TheRock origami integration to allow TheRock CI to pass.
-- # Re-enable once origami is available in TheRock.
-- # if(HIPBLASLT_ENABLE_THEROCK)
-- # find_package(origami REQUIRED)
-- if(FALSE)
-- else()
-- # TODO: This is a temporary solution to prevent the installation of the origami license files.
+- if(HIPBLASLT_ENABLE_THEROCK)
+- find_package(origami CONFIG QUIET)
+- endif()
+- if(NOT TARGET roc::origami)
- block(SCOPE_FOR VARIABLES)
-- set(ORIGAMI_ENABLE_INSTALL OFF)
-- add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/../../shared/origami" origami)
+- set(ORIGAMI_ENABLE_FETCH ON)
+- set(ORIGAMI_BUILD_TESTING OFF)
+- set(ORIGAMI_ENABLE_PYTHON OFF)
+- set(BUILD_TESTING OFF)
+- set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
+- add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/../../shared/origami" "${CMAKE_CURRENT_BINARY_DIR}/origami" EXCLUDE_FROM_ALL)
- endblock()
- endif()
-endif()
@@ -34,5 +35,5 @@ index 11b8fdfe5c3c..eea341127604 100644
# INTERFACE library that owns the public hipblaslt API headers (the in-tree
# `library/include` subtree plus its build-tree counterpart, where
--
-2.53.0
+2.54.0
diff --git a/0001-hipblaslt-preview-stinktofu.patch b/0001-hipblaslt-preview-stinktofu.patch
new file mode 100644
index 0000000..049dbeb
--- /dev/null
+++ b/0001-hipblaslt-preview-stinktofu.patch
@@ -0,0 +1,166 @@
+From 563e172767b36a3ec24190fa650068e1bd57dd48 Mon Sep 17 00:00:00 2001
+From: Tom Rix <Tom.Rix@amd.com>
+Date: Tue, 28 Jul 2026 12:15:00 -0700
+Subject: [PATCH] hipblaslt preview stinktofu
+
+---
+ .../tensilelite/rocisa/CMakeLists.txt | 125 +-----------------
+ 1 file changed, 5 insertions(+), 120 deletions(-)
+
+diff --git a/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt b/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
+index 2b44eb7c293a..f04004d18e9a 100644
+--- a/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
++++ b/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
+@@ -129,49 +129,24 @@ if(HIPBLASLT_BUNDLE_PYTHON_DEPS OR ROCISA_STANDALONE)
+ target_link_options(_rocisa PRIVATE -fprofile-instr-generate)
+ endif()
+
+- # Locate stinkytofu: prefer installed package, fall back to monorepo sibling.
+- if(NOT TARGET stinkytofu::stinkytofu)
+- find_package(stinkytofu QUIET)
+- if(NOT stinkytofu_FOUND)
+- set(_stinkytofu_sibling "${CMAKE_CURRENT_SOURCE_DIR}/../../../../shared/stinkytofu")
+- if(IS_DIRECTORY "${_stinkytofu_sibling}")
+- set(STINKYTOFU_ENABLE_WERROR ON)
+- add_subdirectory("${_stinkytofu_sibling}" stinkytofu EXCLUDE_FROM_ALL)
+- set(_stinkytofu_from_subdirectory TRUE)
+- else()
+- message(FATAL_ERROR "stinkytofu not found via find_package or sibling directory")
+- endif()
+- endif()
+- endif()
+-
+- if(NOT DEFINED _stinkytofu_from_subdirectory)
+- get_target_property(_st_imported stinkytofu::stinkytofu IMPORTED)
+- if(_st_imported)
+- set(_stinkytofu_from_subdirectory FALSE)
+- else()
+- set(_stinkytofu_from_subdirectory TRUE)
+- endif()
+- endif()
++ find_package(stinkytofu REQUIRED)
+
+ target_link_libraries(_rocisa PUBLIC roc::origami)
+- target_link_libraries(_rocisa PRIVATE hip::host stinkytofu::stinkytofu)
++ target_link_libraries(_rocisa PRIVATE hip::host stinkytofu)
+
+ # rocisa<->stinkytofu conversion glue. These sources live in the stinkytofu
+ # source tree but are rocisa-side bindings (they include rocisa headers and
+ # define init_stinkytofu), so they compile into _rocisa, not libstinkytofu.
+ # rocisa owns them directly here rather than relying on stinkytofu to inject
+ # them, so the de-bundled (find_package) build links them too.
+- set(_stinkytofu_src_dir "${CMAKE_CURRENT_SOURCE_DIR}/../../../../shared/stinkytofu")
++ set(_stinkytofu_src_dir "${CMAKE_CURRENT_SOURCE_DIR}/../../stinkytofu")
+ target_sources(_rocisa PRIVATE
+ "${_stinkytofu_src_dir}/src/conversion/rocisa/AllHwMappings.cpp"
+ "${_stinkytofu_src_dir}/src/conversion/rocisa/ToStinkyTofuUtils.cpp"
+ )
+
+- if(_stinkytofu_from_subdirectory)
+- # Source-built stinkytofu via add_subdirectory: generated headers are in
+- # the stinkytofu/ subdirectory of the binary dir.
+- target_include_directories(_rocisa PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/stinkytofu")
+- endif()
++ target_include_directories(_rocisa PRIVATE "/usr/include/stinkytofu")
++
+ # _build_info.py is intentionally NOT in install() rules for production
+ # wheels/packages, acting as the source-build sentinel. Dev/editable installs
+ # pass -DROCISA_INCLUDE_BUILD_INFO=ON to include it; that flag also marks a
+@@ -179,94 +154,4 @@ if(HIPBLASLT_BUNDLE_PYTHON_DEPS OR ROCISA_STANDALONE)
+ # loader's default search path.
+ option(ROCISA_INCLUDE_BUILD_INFO "Install _build_info.py for staleness detection" OFF)
+
+- # Directory containing libstinkytofu, resolved by CMake for the active
+- # config. $<TARGET_FILE_DIR:...> handles both the add_subdirectory target
+- # (build output dir) and the imported package target (IMPORTED_LOCATION_<CONFIG>)
+- # without hand-matching configs.
+- set(_st_lib_dir "$<TARGET_FILE_DIR:stinkytofu::stinkytofu>")
+- set_target_properties(_rocisa PROPERTIES
+- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/rocisa"
+- BUILD_RPATH "${_st_lib_dir}"
+- )
+- if(_stinkytofu_from_subdirectory)
+- # Source-built sibling: no installed libstinkytofu exists, so the wheel carries
+- # its own copy next to _rocisa and loads it from there.
+- set_target_properties(_rocisa PROPERTIES INSTALL_RPATH "$ORIGIN")
+- # Windows has no RPATH; copy stinkytofu.dll next to _rocisa.pyd so the loader
+- # finds it at runtime.
+- if(WIN32)
+- add_custom_command(TARGET _rocisa POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy_if_different
+- $<TARGET_FILE:stinkytofu::stinkytofu>
+- $<TARGET_FILE_DIR:_rocisa>
+- )
+- endif()
+- elseif(ROCISA_INCLUDE_BUILD_INFO)
+- # Dev/editable find_package build: libstinkytofu is installed to a temp
+- # prefix off the loader's default search path, so bake its dir into the
+- # install RPATH from the link line. Gated on the dev-build signal so
+- # released ROCm builds stay RPATH-free and rely on libstinkytofu being
+- # resident in rocm/lib.
+- set_target_properties(_rocisa PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
+- endif()
+- # In a released build, installed stinkytofu is a standard ROCm library on the
+- # loader's search path (like libyaml behind PyYAML); _rocisa's DT_NEEDED
+- # resolves it from there, so no wheel-local copy or RPATH is needed.
+- configure_file(
+- "${CMAKE_CURRENT_SOURCE_DIR}/rocisa/__init__.py"
+- "${CMAKE_CURRENT_BINARY_DIR}/rocisa/__init__.py"
+- COPYONLY
+- )
+- # STINKYTOFU_ROOT_DIR feeds @STINKYTOFU_ROOT_DIR@ in _build_info.py (the
+- # staleness check scans stinkytofu sources too, since the conversion glue is
+- # compiled into _rocisa). It is set via PARENT_SCOPE only in the
+- # add_subdirectory build; in the de-bundled find_package build it is unset,
+- # which would leave the path empty and make the check scan the CWD. Point it
+- # at the real stinkytofu source tree.
+- if(NOT STINKYTOFU_ROOT_DIR)
+- cmake_path(ABSOLUTE_PATH _stinkytofu_src_dir NORMALIZE OUTPUT_VARIABLE STINKYTOFU_ROOT_DIR)
+- endif()
+- configure_file(
+- "${CMAKE_CURRENT_SOURCE_DIR}/rocisa/_build_info.py.in"
+- "${CMAKE_CURRENT_BINARY_DIR}/rocisa/_build_info.py"
+- @ONLY
+- )
+- if(ROCISA_INCLUDE_BUILD_INFO)
+- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/rocisa/_build_info.py" DESTINATION rocisa)
+- endif()
+-
+- if(ROCISA_STANDALONE)
+- # scikit-build-core wheel install rules: place _rocisa and __init__.py into the
+- # rocisa/ package directory in the wheel.
+- install(TARGETS _rocisa DESTINATION rocisa)
+- if(_stinkytofu_from_subdirectory)
+- # Source-built: vendor libstinkytofu into the wheel — no installed copy exists.
+- install(FILES $<TARGET_FILE:stinkytofu::stinkytofu> DESTINATION rocisa)
+- if(NOT WIN32)
+- install(FILES $<TARGET_SONAME_FILE:stinkytofu::stinkytofu> DESTINATION rocisa)
+- endif()
+- endif()
+- # Installed stinkytofu ships in its own ROCm package; it is not bundled here.
+- install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/rocisa/__init__.py" DESTINATION rocisa)
+- endif()
+-
+- # Example plugin — the target only exists when stinkytofu is configured with
+- # -DSTINKYTOFU_BUILD_EXAMPLES=ON (default OFF; opted in by the source-built standalone
+- # wheel via tasks.py). Integrated/ROCm builds leave it OFF, so the target is absent and
+- # this block is skipped — the example never lands in a production ROCm package; there,
+- # the installed stinkytofu package ships and locates its own plugin.
+- #
+- # In the source-built wheel, libstinkytofu is vendored into rocisa/, so the plugin must
+- # sit at rocisa/${STINKYTOFU_PLUGIN_INSTALL_RELDIR} to match PassBuilder::examplePluginPath()'s
+- # lookup relative to libstinkytofu. Consuming stinkytofu's exported reldir keeps the install
+- # path in lockstep with the runtime lookup — no hardcoded duplicate.
+- # No INSTALL_RPATH is needed: on Linux the plugin has no DT_NEEDED on libstinkytofu (it
+- # is headers-only) and the host is already resident when loadPlugin() dlopens it.
+- # Only installable for shared builds (MODULE target); static builds use OBJECT.
+- if(TARGET stinkytofu-plugin-helloworld AND BUILD_SHARED_LIBS AND _stinkytofu_from_subdirectory)
+- set_target_properties(stinkytofu-plugin-helloworld PROPERTIES EXCLUDE_FROM_ALL FALSE)
+- add_dependencies(_rocisa stinkytofu-plugin-helloworld)
+- install(TARGETS stinkytofu-plugin-helloworld
+- DESTINATION "rocisa/${STINKYTOFU_PLUGIN_INSTALL_RELDIR}")
+- endif()
+ endif()
+--
+2.55.0
+
diff --git a/0001-hipblaslt-preview-tensilelit-remove-yappi-dependency.patch b/0001-hipblaslt-preview-tensilelit-remove-yappi-dependency.patch
index 795b56c..506a9eb 100644
--- a/0001-hipblaslt-preview-tensilelit-remove-yappi-dependency.patch
+++ b/0001-hipblaslt-preview-tensilelit-remove-yappi-dependency.patch
@@ -1,6 +1,6 @@
-From ac7d71d06f7938d51dd9455a5145372e48dcd49d Mon Sep 17 00:00:00 2001
+From ef7578dda6f24b0c9ad2d7e4e5941358d0d248d8 Mon Sep 17 00:00:00 2001
From: Tom Rix <Tom.Rix@amd.com>
-Date: Tue, 26 May 2026 13:36:58 -0700
+Date: Mon, 27 Jul 2026 08:23:22 -0700
Subject: [PATCH] hipblaslt preview tensilelit remove yappi dependency
---
@@ -9,12 +9,12 @@ Subject: [PATCH] hipblaslt preview tensilelit remove yappi dependency
2 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/projects/hipblaslt/tensilelite/Tensile/TensileCreateLibrary/Run.py b/projects/hipblaslt/tensilelite/Tensile/TensileCreateLibrary/Run.py
-index c4356c07273f..bbe18e369447 100644
+index d6c844eaf030..17a0b603f2be 100644
--- a/projects/hipblaslt/tensilelite/Tensile/TensileCreateLibrary/Run.py
+++ b/projects/hipblaslt/tensilelite/Tensile/TensileCreateLibrary/Run.py
-@@ -329,12 +329,6 @@ def writeSolutionsAndKernels(
- generateSourcesAndExit: bool=False,
+@@ -431,12 +431,6 @@ def writeSolutionsAndKernels(
compress: bool=True,
+ removeTemporaries: bool=True,
):
- if globalParameters["PythonProfile"]:
- globalParameters["CpuThreads"] = 0
@@ -25,7 +25,7 @@ index c4356c07273f..bbe18e369447 100644
codeObjectFiles = []
with timing_context("python_kernel_setup"):
-@@ -407,15 +401,6 @@ def writeSolutionsAndKernels(
+@@ -516,15 +510,6 @@ def writeSolutionsAndKernels(
writeHelpers(outputPath, kernelHelperObjs, KERNEL_HELPER_FILENAME_CPP, KERNEL_HELPER_FILENAME_H)
srcKernelFile = Path(outputPath) / "Kernels.cpp"
@@ -42,7 +42,7 @@ index c4356c07273f..bbe18e369447 100644
with timing_context("python_kernel_build_co"):
codeObjectFiles += buildAssemblyCodeObjectFiles(
diff --git a/projects/hipblaslt/tensilelite/requirements.txt b/projects/hipblaslt/tensilelite/requirements.txt
-index 2eb38e4a99fe..7b53039e3a55 100644
+index 667e5e406578..98e53b545181 100644
--- a/projects/hipblaslt/tensilelite/requirements.txt
+++ b/projects/hipblaslt/tensilelite/requirements.txt
@@ -5,7 +5,7 @@ joblib>=1.4.0
@@ -55,5 +55,5 @@ index 2eb38e4a99fe..7b53039e3a55 100644
invoke
numpy
--
-2.53.0
+2.54.0
diff --git a/0001-hipblaslt-preview-tensilelit-use-nanobind-tarball.patch b/0001-hipblaslt-preview-tensilelit-use-nanobind-tarball.patch
index bfe87f7..e6e31dd 100644
--- a/0001-hipblaslt-preview-tensilelit-use-nanobind-tarball.patch
+++ b/0001-hipblaslt-preview-tensilelit-use-nanobind-tarball.patch
@@ -1,6 +1,6 @@
-From 401ddee4f2e8416742b44b0ecfa9dd5c69e91bab Mon Sep 17 00:00:00 2001
+From 96a85a91572e225c9f12bbdb69c1ede11d987d40 Mon Sep 17 00:00:00 2001
From: Tom Rix <Tom.Rix@amd.com>
-Date: Tue, 26 May 2026 14:01:43 -0700
+Date: Mon, 27 Jul 2026 08:25:35 -0700
Subject: [PATCH] hipblaslt preview tensilelit use nanobind tarball
---
@@ -8,10 +8,10 @@ Subject: [PATCH] hipblaslt preview tensilelit use nanobind tarball
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt b/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
-index 4bef48e03d6b..fec8e2c70db7 100644
+index 2b44eb7c293a..2842393fb954 100644
--- a/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
+++ b/projects/hipblaslt/tensilelite/rocisa/CMakeLists.txt
-@@ -39,8 +39,9 @@ if(HIPBLASLT_BUNDLE_PYTHON_DEPS OR ROCISA_STANDALONE)
+@@ -52,8 +52,9 @@ if(HIPBLASLT_BUNDLE_PYTHON_DEPS OR ROCISA_STANDALONE)
include(FetchContent)
FetchContent_Declare(
nanobind
@@ -22,7 +22,7 @@ index 4bef48e03d6b..fec8e2c70db7 100644
+ URL file://${CMAKE_CURRENT_SOURCE_DIR}/../../nanobind.tar.gz
)
FetchContent_MakeAvailable(nanobind)
- endif()
+ if(ROCISA_USE_STABLE_ABI)
--
-2.53.0
+2.54.0
diff --git a/hipblaslt.spec b/hipblaslt.spec
index f77335b..236d5b7 100644
--- a/hipblaslt.spec
+++ b/hipblaslt.spec
@@ -23,7 +23,7 @@
%bcond_with preview
%if %{with preview}
-%global rocm_release 7.13
+%global rocm_release 7.14
%global rocm_patch 0
%global pkg_src therock-%{rocm_release}
%else
@@ -126,7 +126,7 @@
Name: %{hipblaslt_name}
Version: %{rocm_version}
%if %{with preview}
-Release: 1%{?dist}
+Release: 0%{?dist}
%else
Release: 7%{?dist}
%endif
@@ -148,9 +148,14 @@ Source1: %{nanobind_giturl}/archive/v%{nanobind_version}/nanobind-%{nanob
Source2: %{robinmap_giturl}/archive/v%{robinmap_version}/robin-map-%{robinmap_version}.tar.gz
%if %{with preview}
+Source3: %{url}/releases/download/%{pkg_src}/stinkytofu.tar.gz#/stinkytofu-%{version}.tar.gz
+Source4: %{url}/releases/download/%{pkg_src}/origami.tar.gz#/origami-%{version}.tar.gz
+Source5: %{url}/releases/download/%{pkg_src}/mxdatagenerator.tar.gz#/mxdatagenerator-%{version}.tar.gz
Patch1: 0001-hipblaslt-preview-tensilelit-remove-yappi-dependency.patch
Patch3: 0001-hipblaslt-preview-find-origami-package.patch
Patch4: 0001-hipblaslt-preview-tensilelit-use-nanobind-tarball.patch
+Patch5: 0001-hipblaslt-preview-cmake-jobpools.patch
+Patch6: 0001-hipblaslt-preview-stinktofu.patch
%else
# yappi was removed from fedora
# yappi is used in tensilelite to generate profiling data, we are not using that in the build
@@ -159,10 +164,9 @@ Patch1: 0001-hipblaslt-tensilelite-remove-yappi-dependency.patch
Patch3: 0001-hipblaslt-find-origami-package.patch
# do not try to fetch, point to the nanobind tarball
Patch4: 0001-hipblaslt-tensilelite-use-nanobind-tarball.patch
-%endif
# compile and link jobpools
Patch5: 0001-hipblaslt-cmake-compile-and-link-pools.patch
-
+%endif
%if %{with preview}
BuildRequires: amdsmi-devel
@@ -217,8 +221,10 @@ BuildRequires: python3dist(pyyaml)
BuildRequires: python3dist(nanobind)
%endif
%if %{with preview}
+BuildRequires: python3dist(numpy)
BuildRequires: python3dist(packaging)
BuildRequires: python3dist(pip)
+BuildRequires: python3dist(scikit-build-core)
BuildRequires: python3dist(wheel)
%endif
%global tensile_verbose 1
@@ -292,6 +298,48 @@ Requires: rocm-filesystem%{pkg_suffix}
%endif
%prep
+%if %{with preview}
+# Make a sparse rocm-libraries
+mkdir shared projects
+cd shared
+# stinkytofu
+tar xf %{SOURCE3}
+cd stinkytofu
+# src/serialization/asm/PatternParser.cpp:794:13: error: unknown type name 'uint32_t'
+sed -i -e '/#include <sstream>.*/a#include <stdint.h>' src/serialization/asm/PatternParser.cpp
+sed -i -e '/#include <vector>.*/a#include <stdint.h>' include/stinkytofu/serialization/logical/IRSerializer.hpp
+# src/transforms/asm/dag/ReadyQueue.hpp:49:31: error: use of undeclared identifier 'UINT_MAX'
+sed -i -e '/#include <queue>.*/a#include <limits.h>' src/transforms/asm/dag/ReadyQueue.hpp
+sed -i -e '/#include <string_view>.*/a#include <limits.h>' src/serialization/asm/IRParser.cpp
+sed -i -e '/#include <utility>.*/a#include <limits.h>' src/transforms/asm/StinkyWmmaVgprReorderPass.cpp
+# No clang-tidy
+sed -i -e 's@include(ClangTidy)@@' CMakeLists.txt
+sed -i -e 's@add_clang_tidy_custom_target()@@' CMakeLists.txt
+# No ../../cmake/modues/default_amdclang.cmake
+sed -i -e '/default_amdclang/d' CMakeLists.txt
+cd ..
+tar xf %{SOURCE4}
+tar xf %{SOURCE5}
+cd ../projects
+tar xf %{SOURCE0}
+cd hipblaslt
+# tensile path to tools need to change
+sed -i -e 's@globalParameters["ROCmPath"] = "/opt/rocm"@globalParameters["ROCmPath"] = "%{pkg_prefix}"@' tensilelite/Tensile/Common/GlobalParameters.py
+sed -i -e 's@DEFAULT_ROCM_BIN_PATH_POSIX = Path("/opt/rocm/bin")@DEFAULT_ROCM_BIN_PATH_POSIX = Path("%{pkg_prefix}/bin")@' tensilelite/Tensile/Toolchain/Validators.py
+sed -i -e 's@DEFAULT_ROCM_LLVM_BIN_PATH_POSIX = Path("/opt/rocm/lib/llvm/bin")@DEFAULT_ROCM_LLVM_BIN_PATH_POSIX = Path("%{rocmllvm_bindir}")@' tensilelite/Tensile/Toolchain/Validators.py
+
+# nanobind bundle
+tar xf %{SOURCE1}
+mv nanobind-* nanobind
+cd nanobind
+tar xf %{SOURCE2}
+cp -r robin-map-*/* ext/robin_map/
+cd ..
+tar czf nanobind.tar.gz nanobind
+cd ../..
+%patch 1 -p1
+%patch 4 -p1
+%else
%autosetup -p3 -n %{upstreamname}
# Use PATH to find where TensileGetPath and other tensile bins are
@@ -303,10 +351,8 @@ sed -i -e 's@set(CMAKE_INSTALL_LIBDIR@#set(CMAKE_INSTALL_LIBDIR@' CMakeLists.txt
# Do not use virtualenv_install
sed -i -e 's@virtualenv_install@#virtualenv_install@' CMakeLists.txt
-%if %{without preview}
# Disable trying to download rocm-cmake
sed -i -e 's@if(NOT ROCmCMakeBuildTools_FOUND)@if(FALSE)@' cmake/dependencies.cmake
-%endif
# compat has this issue
# /usr/lib64/rocm/rocm-7.2/llvm/bin/amdclang++ -x hip .../device-library/matrix-transform/matrix_transform.cpp
@@ -368,27 +414,28 @@ sed -i -e '/#include <omp.h>/d' clients/common/include/testing_matmul.hpp
sed -i -e '/#include <omp.h>/d' clients/common/include/hipblaslt_init.hpp
sed -i -e '/#include <omp.h>/d' clients/common/src/cblas_interface.cpp
-%if %{without preview}
# We are building from a tarball, not a git repo
sed -i -e 's@find_package(Git REQUIRED)@#find_package(Git REQUIRED)@' cmake/dependencies.cmake
-%endif
-
-%if %{with preview}
-# do not pin version of tensilelite
-rm tensilelite/uv.lock
-# take care of requirements manually
-rm tensilelite/requirements.txt
-rm tensilelite/requirements-dev.txt
-sed -i -e '/packaging/,+10d' tensilelite/pyproject.toml
%endif
%build
+%if %{with preview}
+cd projects/hipblaslt
+%else
# Do a manual install instead of cmake's virtualenv
cd tensilelite
TL=$PWD
%if %{with preview}
+
+cd rocisa
+/usr/bin/python3 -m pip install -vvv --no-build-isolation --no-index --find-links /usr/lib/python%{python3_version}/site-packages --find-links /usr/lib64/python%{python3_version}/site-packages --target $TL .
+cd ..
+
+# so tensilelite picks up rocisa
+export PYTHONPATH=${TL}%{python3_sitelib}:$PYTHONPATH
+
/usr/bin/python3 -m pip install -vvv --no-build-isolation --no-index --find-links /usr/lib/python%{python3_version}/site-packages --find-links /usr/lib64/python%{python3_version}/site-packages --target $TL .
%else
%python_exec setup.py install --root $TL
@@ -450,6 +497,7 @@ JOBS=${COMPILE_JOBS}
if [ "$LINK_JOBS" -lt "$JOBS" ]; then
JOBS=$LINK_JOBS
fi
+%endif
%cmake %{cmake_generator} \
-DGPU_TARGETS=%{gpu_list} \
@@ -482,17 +530,27 @@ fi
-DHIPBLASLT_PARALLEL_LINK_JOBS=${LINK_JOBS} \
%{nil}
+%if %{with preview}
+# To find the just built stinkytofu
+export LD_LIBRARY_PATH=${PWD}/%{_vpath_builddir}/tensilelite/rocisa/stinkytofu:$LD_LIBRARY_PATH
+%endif
+
%cmake_build
%install
+%if %{with preview}
+cd projects/hipblaslt
+%endif
%cmake_install
# Extra license
rm -f %{buildroot}%{pkg_prefix}/share/doc/hipblaslt/LICENSE.md
+%if %{without preview}
# hipblaslt.x86_64: W: unstripped-binary-or-object /usr/lib64/hipblaslt/library/extop_gfx1201.co
%{rocmllvm_bindir}/llvm-strip %{buildroot}%{pkg_prefix}/%{pkg_libdir}/hipblaslt/library/Kernels.so-000-*.hsaco
%{rocmllvm_bindir}/llvm-strip %{buildroot}%{pkg_prefix}/%{pkg_libdir}/hipblaslt/library/extop_*.co
+%endif
%if %{without compat}
# hipblaslt.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/libhipblaslt.so.1.2 (RUNPATH: $ORIGIN/../lib:$ORIGIN/../llvm/lib:$ORIGIN/../lib:$ORIGIN/../lib/hipblaslt/lib)
@@ -513,8 +571,13 @@ chrpath -r %{pkg_prefix}/%{pkg_libdir} %{buildroot}%{pkg_prefix}/%{pkg_libdir}/l
%endif
%files
+%if %{with preview}
+%doc projects/hipblaslt/README.md
+%license projects/hipblaslt/LICENSE.md
+%else
%doc README.md
%license LICENSE.md
+%endif
%{pkg_prefix}/%{pkg_libdir}/libhipblaslt.so.1{,.*}
%{pkg_prefix}/%{pkg_libdir}/hipblaslt/
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-06 23:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-06 23:35 [rpms/hipblaslt] rawhide: Update preview to 7.14 Tom Rix
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox