Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package clpeak for openSUSE:Factory checked in at 2026-08-25 13:19:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clpeak (Old) and /work/SRC/openSUSE:Factory/.clpeak.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clpeak" Tue Aug 25 13:19:36 2026 rev:19 rq:1373454 version:2.1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/clpeak/clpeak.changes 2026-08-21 16:57:48.151502138 +0200 +++ /work/SRC/openSUSE:Factory/.clpeak.new.1258/clpeak.changes 2026-08-25 13:19:39.354041044 +0200 @@ -1,0 +2,34 @@ +Mon Aug 24 16:50:17 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 2.1.3: + * Fix four Intel Arc faults: Vulkan device features were requested + but never enabled (A380 crashed in the shader compiler), + cooperative-matrix stages are now pinned to a 32-wide subgroup so + split subgroups stop dividing the reported rate, and fp16/bf16/ + int8 coopmat rows are gated on the matching type feature. + * Race two MAD-chain shapes per compute family; the shared squaring + chain reported exactly half of Alchemist/Xe-HPG throughput. Intel + Arc and CPU OpenCL runtimes gain up to 2x across compute. + * New CUDA FP8 rows (fp8_e4m3_f16acc, fp8_sparse, fp8_sparse_f16acc) + completing the FP8 dense/sparse grid. + * Correct CUDA int8_sparse, which was pinned to the wrong shape and + compared against a dense row of a different K. + * Correct OpenCL mixed-precision, inflated 8x on work-item- + vectorising CPU runtimes because every operand derived from a + uniform kernel argument; GPUs unaffected. + * Give oneAPI mixed-precision and bf16 four chains instead of one. + * Detect OpenCL int8_dp through the device capability query instead + of the extension string, turning five clCreateKernel errors on Arc + and Intel CPU runtimes into an honest Unsupported skip. + * Builds without git report "unknown" rather than a stale hardcoded + version. + * Discover ROCm via HIP_PATH/ROCM_PATH, not just /opt/rocm. +- Add clpeak-version-override.patch: let the builder supply the + version with -DCLPEAK_VERSION_OVERRIDE, so our tarball build keeps + reporting %{version} in --version and in the clpeak_version field + of JSON/XML/CSV exports instead of "unknown" + (gh#krrishnarraj/clpeak#206). +- Drop the CLPEAK_VERSION_FALLBACK sed from %prep: upstream removed + that variable in this release, so it had become a silent no-op. + +------------------------------------------------------------------- Old: ---- clpeak-2.1.2.tar.gz New: ---- clpeak-2.1.3.tar.gz clpeak-version-override.patch ----------(New B)---------- New: * Discover ROCm via HIP_PATH/ROCM_PATH, not just /opt/rocm. - Add clpeak-version-override.patch: let the builder supply the version with -DCLPEAK_VERSION_OVERRIDE, so our tarball build keeps ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clpeak.spec ++++++ --- /var/tmp/diff_new_pack.SqgAJB/_old 2026-08-25 13:19:40.486080907 +0200 +++ /var/tmp/diff_new_pack.SqgAJB/_new 2026-08-25 13:19:40.489081012 +0200 @@ -18,7 +18,7 @@ Name: clpeak -Version: 2.1.2 +Version: 2.1.3 Release: 0 Summary: Find peak OpenCL capacities like bandwidth & compute # Legal-Review-Notice: upstream relicensed from the Unlicense to Apache-2.0 @@ -28,6 +28,9 @@ License: Apache-2.0 URL: https://github.com/krrishnarraj/clpeak Source: https://github.com/krrishnarraj/clpeak/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM clpeak-version-override.patch gh#krrishnarraj/clpeak#206 [email protected] +# -- let the builder pass the version in; tarball builds report "unknown" since 2.1.3 +Patch0: clpeak-version-override.patch BuildRequires: cmake >= 3.20 BuildRequires: gcc-c++ BuildRequires: ninja @@ -45,11 +48,6 @@ %prep %autosetup -p1 -# GitHub archives have no .git, so git-describe is unavailable and -# version.cmake's hardcoded fallback is stale (still 2.0.16 in 2.1.2). -# gh#krrishnarraj/clpeak#198 -sed -i 's/set(CLPEAK_VERSION_FALLBACK ".*")/set(CLPEAK_VERSION_FALLBACK "%{version}")/' \ - src/common/cmake/version.cmake %build # Flutter GUI is optional upstream and skipped without an SDK; pin it off @@ -57,7 +55,11 @@ # oneAPI likewise auto-skip when their SDKs are absent — keep them off # explicitly. Vulkan + OpenCL + CPU stay on (defaults). %define __builder ninja +# GitHub archives carry no .git, so git-describe cannot run and 2.1.3 reports +# "unknown" -- in --version and in the clpeak_version field of every JSON/XML/ +# CSV export. Our source is exactly the tag Version names, so state it (Patch0). %cmake \ + -DCLPEAK_VERSION_OVERRIDE=%{version} \ -DCLPEAK_ENABLE_GUI=OFF \ -DCLPEAK_ENABLE_CUDA=OFF \ -DCLPEAK_ENABLE_ROCM=OFF \ ++++++ clpeak-2.1.2.tar.gz -> clpeak-2.1.3.tar.gz ++++++ ++++ 8326 lines of diff (skipped) ++++++ clpeak-version-override.patch ++++++ >From 155982261e4f6d564fc9f32b238bc56665737795 Mon Sep 17 00:00:00 2001 From: Martin Pluskal <[email protected]> Date: Mon, 24 Aug 2026 18:47:42 +0200 Subject: [PATCH] cmake: let the builder supply the version with CLPEAK_VERSION_OVERRIDE 2.1.3 dropped the hardcoded in-tree fallback, so a build without git now reports "unknown" -- correct for an arbitrary snapshot, but distribution packages build the release tarball of exactly one tag and do know the version. "unknown" then lands in --version and, via result_store, in the clpeak_version field of every JSON, XML and CSV export, which is what makes a pasted result attributable to a release. The existing escape hatch is to build from a git URL instead of the tarball (Arch and the Homebrew formula both do). That trades a signed, mirrored, reproducible tarball for a network clone, and most distributions cannot. -DCLPEAK_VERSION_OVERRIDE=<version> lets the builder state the number it holds. It cannot go stale the way the old fallback did: nothing in the tree supplies a value, so a build that does not pass it still reports "unknown". A leading 'v' is stripped as on the git path, so both tag spellings agree. --- src/common/cmake/version.cmake | 44 ++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/common/cmake/version.cmake b/src/common/cmake/version.cmake index fb0ed62..82a79ea 100644 --- a/src/common/cmake/version.cmake +++ b/src/common/cmake/version.cmake @@ -4,6 +4,13 @@ # binary): a hardcoded number there is worse than no number, because it silently # stamps every such build with a version it isn't. # +# A builder that knows the version for certain can pass it in instead, with +# -DCLPEAK_VERSION_OVERRIDE=<version>. This is the distribution-packaging case: +# the source is the release tarball of exactly that tag, so the number is a fact +# the builder holds and git does not. It is not the stale in-tree fallback this +# file used to carry -- nothing in the repository supplies a value, so a build +# that does not set it still reports "unknown". +# # Derived once, at configure time, never during the build: the GUI build rewrites # tracked files (Flutter owns pubspec.lock, analysis_options.yaml and the # generated plugin registrants), which anything re-deriving later reads as @@ -22,22 +29,29 @@ if(NOT DEFINED CLPEAK_GIT_ROOT) get_filename_component(CLPEAK_GIT_ROOT "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE) endif() -find_package(Git QUIET) - set(CLPEAK_VERSION_STR "${CLPEAK_VERSION_UNKNOWN}") -if(GIT_FOUND AND EXISTS "${CLPEAK_GIT_ROOT}/.git") - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty - WORKING_DIRECTORY ${CLPEAK_GIT_ROOT} - OUTPUT_VARIABLE _git_version - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET - RESULT_VARIABLE _git_result - ) - if(_git_result EQUAL 0 AND NOT _git_version STREQUAL "") - # Strip optional leading 'v' (tags mix v1.0 and 1.1.7) - string(REGEX REPLACE "^v" "" _git_version "${_git_version}") - set(CLPEAK_VERSION_STR "${_git_version}") + +if(CLPEAK_VERSION_OVERRIDE) + # Strip optional leading 'v' as the git path does, so both spellings of a + # tag give the same string. + string(REGEX REPLACE "^v" "" CLPEAK_VERSION_STR "${CLPEAK_VERSION_OVERRIDE}") +else() + find_package(Git QUIET) + + if(GIT_FOUND AND EXISTS "${CLPEAK_GIT_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty + WORKING_DIRECTORY ${CLPEAK_GIT_ROOT} + OUTPUT_VARIABLE _git_version + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + RESULT_VARIABLE _git_result + ) + if(_git_result EQUAL 0 AND NOT _git_version STREQUAL "") + # Strip optional leading 'v' (tags mix v1.0 and 1.1.7) + string(REGEX REPLACE "^v" "" _git_version "${_git_version}") + set(CLPEAK_VERSION_STR "${_git_version}") + endif() endif() endif() -- 2.51.0
