pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/math/ggml
Module Name: pkgsrc
Committed By: wiz
Date: Wed Nov 4 17:07:04 UTC 2026
Modified Files:
pkgsrc/math/ggml: Makefile distinfo
Added Files:
pkgsrc/math/ggml/patches: patch-tests_test-quantize-fns.cpp
Log Message:
ggml: update to 0.29.0.
ggml v0.29.0 adds an OCP FP8 E4M3 tensor type, a new
ggml_flash_attn_ext_rows op where each query slice attends to its
own list of K/V rows, a batched tensor copy API, and initial support
for multi-node tensor parallelism through a new multi-process
communicator interface. Core improvements include bounding tensor
views by the bytes their strides reach, zero-copy GGUF export of
host-buffer tensors, and vm_allocate-based allocations on Apple
platforms. Performance work spans all major backends: new SVE
kernels in the CPU backend, DPAS flash attention for quantized KV
in SYCL, fused MoE MMQ in CUDA, faster MXFP4 mat-vec in Metal,
split-K tuning in Vulkan, and a large expansion of quantized
GEMM/GEMV coverage in OpenCL. The Hexagon backend gains support
for several new ops, including the lightning indexer, top-k mask,
conv2d and upscale.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 pkgsrc/math/ggml/Makefile \
pkgsrc/math/ggml/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/math/ggml/patches/patch-tests_test-quantize-fns.cpp
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/math/ggml/Makefile
diff -u pkgsrc/math/ggml/Makefile:1.17 pkgsrc/math/ggml/Makefile:1.18
--- pkgsrc/math/ggml/Makefile:1.17 Sun Nov 1 09:33:04 2026
+++ pkgsrc/math/ggml/Makefile Wed Nov 4 17:07:04 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.17 2026/11/01 09:33:04 wiz Exp $
+# $NetBSD: Makefile,v 1.18 2026/11/04 17:07:04 wiz Exp $
-DISTNAME= ggml-0.28.0
+DISTNAME= ggml-0.29.0
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_GITHUB:=ggml-org/}
GITHUB_TAG= v${PKGVERSION_NOREV}
Index: pkgsrc/math/ggml/distinfo
diff -u pkgsrc/math/ggml/distinfo:1.17 pkgsrc/math/ggml/distinfo:1.18
--- pkgsrc/math/ggml/distinfo:1.17 Sun Nov 1 09:33:04 2026
+++ pkgsrc/math/ggml/distinfo Wed Nov 4 17:07:04 2026
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.17 2026/11/01 09:33:04 wiz Exp $
+$NetBSD: distinfo,v 1.18 2026/11/04 17:07:04 wiz Exp $
-BLAKE2s (ggml-0.28.0.tar.gz) = 462e77d5d8f7daa8a355dd011afc8efc90177f4a685d7d099b54343a020be28a
-SHA512 (ggml-0.28.0.tar.gz) = 0bc6f3f39af912dcbafb4fded7e6c5f58a3e9257fe85e6bc9e864ac32b69ae56482f990729c094ec6885387ab4da88ef4c42aa79ff7bad191b28b0e5b51f2c38
-Size (ggml-0.28.0.tar.gz) = 4415832 bytes
+BLAKE2s (ggml-0.29.0.tar.gz) = 7a866404d2a9bc1393d921e9c0f000aba27786b3b50060b506c61064be17dc77
+SHA512 (ggml-0.29.0.tar.gz) = 4bf83e4f3f20b364003f74d16f97aed14bdc2af609d7b9980db90b415290eff6d90e5db85c72b1f3a4715647216fdac7fc41990593d8d02d48a5d0c7c0327c68
+Size (ggml-0.29.0.tar.gz) = 4599304 bytes
+SHA1 (patch-tests_test-quantize-fns.cpp) = d12060c276a02ac897f661e85e2b56911e94fcab
Added files:
Index: pkgsrc/math/ggml/patches/patch-tests_test-quantize-fns.cpp
diff -u /dev/null pkgsrc/math/ggml/patches/patch-tests_test-quantize-fns.cpp:1.1
--- /dev/null Wed Nov 4 17:07:04 2026
+++ pkgsrc/math/ggml/patches/patch-tests_test-quantize-fns.cpp Wed Nov 4 17:07:04 2026
@@ -0,0 +1,41 @@
+$NetBSD: patch-tests_test-quantize-fns.cpp,v 1.1 2026/11/04 17:07:04 wiz Exp $
+
+error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
+error: 'signbit' was not declared in this scope; did you mean 'std::signbit'?
+https://github.com/ggml-org/ggml/issues/1681
+
+--- tests/test-quantize-fns.cpp.orig 2026-11-04 17:03:17.251240863 +0000
++++ tests/test-quantize-fns.cpp
+@@ -177,10 +177,10 @@ static uint8_t fp32_to_f8_e4m3_ref(float value) {
+ };
+
+ static uint8_t fp32_to_f8_e4m3_ref(float value) {
+- if (isnan(value)) {
++ if (std::isnan(value)) {
+ return 0x7F;
+ }
+- const uint8_t sign = signbit(value) ? 0x80 : 0;
++ const uint8_t sign = std::signbit(value) ? 0x80 : 0;
+ const double magnitude = fabs((double) value);
+ if (magnitude >= F8_E4M3_VALUES[126]) {
+ return sign | 126;
+@@ -222,8 +222,8 @@ static int test_f8_e4m3(bool verbose) {
+ for (int i = 0; i < 256; ++i) {
+ const bool is_nan = (i & 0x7F) == 0x7F;
+ const float expected = is_nan ? NAN : copysignf(F8_E4M3_VALUES[i & 0x7F], i & 0x80 ? -1.0f : 1.0f);
+- const bool decode_failed = is_nan ? !isnan(decoded[i])
+- : decoded[i] != expected || (expected == 0.0f && signbit(decoded[i]) != signbit(expected));
++ const bool decode_failed = is_nan ? !std::isnan(decoded[i])
++ : decoded[i] != expected || (expected == 0.0f && std::signbit(decoded[i]) != std::signbit(expected));
+ const bool encode_failed = !is_nan && roundtrip[i] != encoded[i];
+ if (decode_failed || encode_failed) {
+ num_failed++;
+@@ -293,7 +293,7 @@ static int test_f8_e4m3(bool verbose) {
+ x[0] = x.back() = code;
+ float actual;
+ traits_cpu->vec_dot(x.size(), &actual, 0, x.data(), 0, y.data(), 0, 1);
+- num_failed += !isnan(actual);
++ num_failed += !std::isnan(actual);
+ }
+
+ if (verbose || num_failed) {
Home |
Main Index |
Thread Index |
Old Index