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