Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
db1ae40
speculative-prefill : port upstream PR 27692
Sep 2, 2026
fcae791
hip: widen Qwen3.6 GDN blocks on RDNA3.5
gaetan-puleo Sep 2, 2026
90ad6cd
hip: prefetch MMQ tiles into registers on RDNA3.5
gaetan-puleo Sep 2, 2026
8ab5a83
hip: DPP reductions and multi-column tiled GDN kernel on RDNA3.5
gaetan-puleo Sep 2, 2026
6deebd4
server : add --cache-disk for a persistent prompt cache
Aug 29, 2026
d305b3d
hip: vectorize exact expert aggregation on AMD
gaetan-puleo Sep 3, 2026
ab55b8f
hip: fuse Q8_1 activation quantization into the Q8_0 decode matvec on…
gaetan-puleo Sep 3, 2026
1cf1594
hip: fuse the Qwen3.5 Gated DeltaNet decode step on AMD
gaetan-puleo Sep 3, 2026
3a10a0f
hip: write the fused expert sum in place for single-block decode
gaetan-puleo Sep 3, 2026
3a67cce
hip: fuse the Qwen3.5 shared-expert gate for decode on AMD
gaetan-puleo Sep 3, 2026
f8524a5
hip: pipeline the single-column f32 matvec K loop
gaetan-puleo Sep 3, 2026
5437ff8
hip: one wave per row for short bf16 decode matvecs on RDNA
gaetan-puleo Sep 3, 2026
37f02eb
hip: fuse the activation quantization for Q6_K decode matvecs too
gaetan-puleo Sep 3, 2026
a01b5d7
hip: narrow routed-compact MMQ tiles for 256-expert MoE prefill on RD…
gaetan-puleo Sep 3, 2026
d7550c1
hip: select RDNA3.5 mul_mat_id tile width by rows-per-expert range
gaetan-puleo Sep 3, 2026
7018546
CUDA/HIP: use WMMA flash attention for D=256 prefill on RDNA3.5
gaetan-puleo Sep 3, 2026
c3f0ac2
llama: synchronize before mutating graph state
gaetan-puleo Sep 3, 2026
ff9c3b2
tests: avoid ambiguous top-k MoE scores
gaetan-puleo Sep 3, 2026
a4d8e83
vulkan: driver-gate the coopmat LDS stride pad (#14)
LaurentZuijdwijk Sep 3, 2026
ca062e9
Halo/vulkan topk radix (#17)
LaurentZuijdwijk Sep 3, 2026
fa25724
Merge halo-box/llama.cpp master into strix-llama.cpp
dzannotti Sep 3, 2026
04c8909
vulkan: replace the EngramHalo radix top-k with upstream's radix select
Nathanw1014 Sep 4, 2026
55a6adc
vulkan: top_k radix select for k >= 1024 for Qwen 3.8 Flash Next (#28…
0cc4m Aug 31, 2026
36faf54
vulkan: deterministic slot assignment in top_k radix select
Nathanw1014 Sep 3, 2026
50b83f8
models: use flash-linear-attention's l2norm for gated delta net q/k
danielhanchen Aug 31, 2026
8d37b7c
Update src/models/models.h
danielhanchen Aug 31, 2026
aad5adb
kv-cache: zero freed cells so masked-out rows never carry stale K/V
Nathanw1014 Sep 3, 2026
bcfcfc1
Merge pull request #19 from halo-box/rebase/from-halobox-2026-09-03
Nathanw1014 Sep 4, 2026
3407302
Merge branch 'master' into for-halobox/v0.7.4-fixes-master
Nathanw1014 Sep 4, 2026
b212548
Merge pull request #20 from halo-box/for-halobox/v0.7.4-fixes-master
Nathanw1014 Sep 4, 2026
6130b72
hip: optimize RDNA3.5 MoE inference paths
gaetan-puleo Sep 4, 2026
930a8bd
hip: address PR review correctness issues
gaetan-puleo Sep 4, 2026
7c877db
hip: tune Ling MoE inference on RDNA3.5
gaetan-puleo Sep 4, 2026
6c7bffd
readme : add Halo Box fork section (#19)
LaurentZuijdwijk Sep 4, 2026
312ea53
hip: fix RDNA3.5 fused quantization edge cases
gaetan-puleo Sep 5, 2026
756f0d4
Merge remote-tracking branch 'origin/master' into opt/rdna35-combined
gaetan-puleo Sep 5, 2026
cde4bf7
hip: fix ROCm 7.2 Flash Attention Werror build
gaetan-puleo Sep 5, 2026
4021b99
hip: avoid compiling RDNA3.5 Q8 FA on CDNA
gaetan-puleo Sep 5, 2026
c7af5c6
Merge pull request #18 from halo-box/import/fork-master-optimizations
gaetan-puleo Sep 5, 2026
62be141
Update README to clarify features and fix formatting
LaurentZuijdwijk Sep 5, 2026
1eae7cb
Halo/upstream sync 2026 09 05 (#20)
LaurentZuijdwijk Sep 6, 2026
7e5ed83
Merge halo-box/llama.cpp master into strix-llama.cpp
LaurentZuijdwijk Sep 6, 2026
56b6acd
readme : merge the halo-box/llama.cpp README into this fork's
LaurentZuijdwijk Sep 6, 2026
e66c823
readme : align the Halo Box section with strix-llama.cpp (#21)
LaurentZuijdwijk Sep 6, 2026
25787f5
readme : adopt the strix-llama.cpp README for this fork (#22)
LaurentZuijdwijk Sep 6, 2026
c69f0e8
speculative : give MTP targets their recurrent rollback slots back
LaurentZuijdwijk Sep 6, 2026
d22fa65
vulkan : only chunk batched mat-vec for the quant types that were mea…
LaurentZuijdwijk Sep 6, 2026
88c87dd
Merge pull request #23 from halo-box/sync/from-halobox-2026-09-06
LaurentZuijdwijk Sep 6, 2026
7baf0a9
Merge pull request #24 from halo-box/docs/readme-halobox-merge
LaurentZuijdwijk Sep 6, 2026
33870a2
Halo/scheduler uma ring 27311 (#23)
gaetan-puleo Sep 6, 2026
088b7eb
Merge halo-box/llama.cpp master into strix-llama.cpp
gaetan-puleo Sep 6, 2026
7e34e5a
ROCmFPx: port the AMD-native FPx tensor types (CPU + Vulkan)
Aug 20, 2026
344943a
vulkan: integer-dot (MMQ/MMVQ) paths for the ROCmFPx types
Aug 20, 2026
1fc5ee3
vulkan: fix ROCmFPx mat-vec cost at batch 3-8
Aug 21, 2026
a99005f
tests : set quantization error budgets for the ROCmFPx 2/3-bit types
Aug 31, 2026
c00341d
rocmfpx : credit charlie12345/ROCmFPX as the origin of the format
Aug 31, 2026
3e779bb
llama : give Q2_0_ROCMFPX the ftype id ciru-ai/ROCmFPX uses (122)
LaurentZuijdwijk Sep 6, 2026
2c1cdc4
tests : run the ROCmFPx codec self-tests under ctest
LaurentZuijdwijk Sep 6, 2026
659e0f1
gguf-py : dequantize every ROCmFPx type in Python, and test it against C
LaurentZuijdwijk Sep 6, 2026
9eec244
llama : keep Q2_0_ROCMFPX ftype 119, matching the ROCmFPX origin and …
LaurentZuijdwijk Sep 6, 2026
da65acb
rocmfpx : drop the unused HIP helpers and describe what is actually here
LaurentZuijdwijk Sep 6, 2026
525d2b3
common : do not offer ROCmFPx types as KV cache types
Nathanw1014 Sep 7, 2026
4a539f3
readme : ROCmFPx types are weight formats, not KV-cache types
LaurentZuijdwijk Sep 7, 2026
c09f779
Merge branch 'master' into fix/mtp-rs-seq
LaurentZuijdwijk Sep 7, 2026
952fd2a
Merge branch 'master' into fix/vulkan-mmv-chunk-measured-types
LaurentZuijdwijk Sep 7, 2026
3e2312a
Merge pull request #26 from halo-box/fix/mtp-rs-seq
LaurentZuijdwijk Sep 7, 2026
95be98e
Merge branch 'master' into fix/vulkan-mmv-chunk-measured-types
LaurentZuijdwijk Sep 7, 2026
6f8f1c6
Merge pull request #27 from halo-box/fix/vulkan-mmv-chunk-measured-types
LaurentZuijdwijk Sep 7, 2026
8a17065
Merge branch 'master' into rocmfpx/vulkan-2026-09-07
LaurentZuijdwijk Sep 7, 2026
aab8696
Merge pull request #30 from halo-box/rocmfpx/vulkan-2026-09-07
LaurentZuijdwijk Sep 7, 2026
2b8fd60
Merge branch 'master' into sync/from-halobox-2026-09-06-uma-ring
gaetan-puleo Sep 7, 2026
eedd906
tests : keep the test-rocmfpx assertions alive in Release builds
LaurentZuijdwijk Sep 7, 2026
14a5b92
tests : link rocmfpx from ggml-base instead of compiling a second copy
LaurentZuijdwijk Sep 7, 2026
df563b7
rocmfpx : let the ROCmFP2 encoder pick the zero scale
LaurentZuijdwijk Sep 7, 2026
8c9dc1c
rocmfpx : bound FP6 scale pruning by 32, the magnitude it can reach
LaurentZuijdwijk Sep 7, 2026
ff9cbe4
rocmfpx : clamp before the integer conversion in the FP6/FP8 encoders
LaurentZuijdwijk Sep 7, 2026
7449a0f
Merge pull request #29 from halo-box/sync/from-halobox-2026-09-06-uma…
gaetan-puleo Sep 7, 2026
b1f86ee
experiment: dequant-once FA scratch for all KV quant types (q4_0/q4_1…
Nathanw1014 Jul 13, 2026
6dc9116
vulkan : gate FA dequant-once scratch on device-local capacity
Nathanw1014 Jul 14, 2026
e52cc7c
vulkan: contiguize strided f16 KV for FA prefill (GGML_VK_FA_KV_CONTI…
Nathanw1014 Jul 28, 2026
d61a7fd
tests: dense-permuted K/V option + Strix FA prefill perf/probe cases
Nathanw1014 Jul 28, 2026
6d056bf
vulkan: enable the f16 KV contiguize pass by default (GGML_VK_FA_KV_C…
Nathanw1014 Jul 28, 2026
82c3fe9
vulkan: single source of truth for native FA K/V types + non-native h…
Nathanw1014 Jul 28, 2026
fa117d1
tests: dense-permuted iq4_nl FA cases (dequant-once route coverage)
Nathanw1014 Jul 28, 2026
5d5759a
vulkan: bill the FA K/V contiguize pass on its own perf-logger line
Nathanw1014 Jul 31, 2026
8f178b8
vulkan: scale the FA MMQ dot product in fp32 before narrowing
Nathanw1014 Aug 9, 2026
bacb0d3
docs : align issue templates with the fork's AI policy
Sep 8, 2026
fc349bd
context : size device checkpoint views in quantized elements
arc-uri-el Sep 8, 2026
f8668dd
server : do not re-verify replayed draft tokens after a checkpoint re…
Nathanw1014 Aug 22, 2026
99a40a3
Merge pull request #34 from halo-box/server/no-reverify-replayed-draft
Nathanw1014 Sep 8, 2026
e72ffec
vulkan: DeepSeek V4 lightning indexer kernels + indexed sparse FA
gaetan-puleo Aug 1, 2026
56a1843
vulkan: harden the sparse-FA shader and document the top-k API
Nathanw1014 Aug 1, 2026
79149d1
tests: sparse top-k FA parity + perf coverage (V4 CSA shape)
Nathanw1014 Aug 1, 2026
5d1180a
vulkan: gather-to-compact sparse decode FA for DeepSeek V4 top-k sele…
Nathanw1014 Aug 1, 2026
554519b
vulkan: fused DeepSeek V4 hyper-connection ops (HC pre / comb / post)
Nathanw1014 Aug 2, 2026
b8d2503
llama: keep DeepSeek lightning-indexer key cache f16 under quantized …
Nathanw1014 Aug 2, 2026
9cb8c28
llama: contiguize grouped o-proj input for small multi-token batches …
Nathanw1014 Aug 3, 2026
78e31af
vulkan: accelerate DeepSeek V4 sparse prefill FA
Mushoz Aug 12, 2026
d4cf907
vulkan: split sparse prefill attention
Mushoz Aug 13, 2026
57a64cb
vulkan: tile sparse prefill scratch
Mushoz Aug 13, 2026
989c21b
vulkan: reuse sparse FA probability fragments
Mushoz Aug 13, 2026
94ecd38
vulkan: cache sparse FA masks per key block
Mushoz Aug 13, 2026
5f60911
vulkan: fix DeepSeek V4 sparse split attention with multiple sequences
Nathanw1014 Aug 13, 2026
76b18c3
vulkan: harden the sparse FA split path and drop its debug scaffolding
Nathanw1014 Aug 13, 2026
75e195f
test-backend-ops: cover sparse top-k FA with more than one sequence
Nathanw1014 Aug 13, 2026
04311a0
vulkan: let sparse FA query tiling and multiple sequences coexist
Nathanw1014 Aug 13, 2026
feff28e
vulkan: parallelize DSV4 Lightning Indexer prefill
Mushoz Aug 13, 2026
2a6d1de
vulkan: extend DeepSeek V4 gather-to-compact to small batches
Nathanw1014 Aug 13, 2026
6a31bf0
vulkan: record the resource limits behind the two DSV4 prefill kernels
Nathanw1014 Aug 13, 2026
964a218
vulkan: deduplicated union for DeepSeek V4 small-batch decode
Nathanw1014 Aug 14, 2026
628788d
vulkan: gate the DeepSeek V4 small-batch union on the measured union …
Nathanw1014 Aug 14, 2026
857f81c
vulkan: measure the V4 union on real draft tokens, and correct the fi…
Nathanw1014 Aug 14, 2026
fa82576
vulkan: default the DeepSeek V4 small-batch union on
Nathanw1014 Aug 14, 2026
1481bbe
vulkan: let the DeepSeek V4 small-batch gather serve quantised K/V
Nathanw1014 Aug 14, 2026
35b7578
vulkan: dequantise q8_0 K/V inside the DeepSeek V4 small-batch gather
Nathanw1014 Aug 14, 2026
987f662
vulkan: decode q4_0 in the V4 gather too, with the real element mapping
Nathanw1014 Aug 14, 2026
fa5f251
vulkan : restore the unrolled row copy in the DSV4 gather shaders
Nathanw1014 Aug 17, 2026
7ceebb6
vulkan: decode quantised K/V inside the DeepSeek V4 per-token gather
Nathanw1014 Aug 20, 2026
f9471c6
vulkan: dequantise the cache for the DeepSeek V4 sparse prefill
Nathanw1014 Aug 20, 2026
f7ffc13
vulkan: use small Lightning Indexer CM for batches 4-15
pepuscz Aug 24, 2026
ef56966
vulkan: hoist the Lightning Indexer K fragments out of the head loop
Nathanw1014 Aug 26, 2026
24d18f7
vulkan: route the whole small-batch Lightning Indexer window to the d…
Nathanw1014 Aug 26, 2026
4d83452
vulkan: hoist the Lightning Indexer K fragments out of the CM head loop
Nathanw1014 Aug 26, 2026
883b4d8
vulkan: support arbitrary Lightning Indexer head counts via specializ…
Nathanw1014 Aug 26, 2026
808ce1c
vulkan: N_HEAD spec constant for the scalar-64 lightning indexer
Nathanw1014 Aug 30, 2026
1007fdc
vulkan: hoist the coopmat1 FA P-fragment load out of the hsv_tile loop
Nathanw1014 Jul 30, 2026
11eaefa
vulkan: store coopmat1 FA Psh query-major so the GEMM2 A load vectorizes
Nathanw1014 Jul 30, 2026
bc2b9ad
vulkan: pin a 32-wide subgroup for coopmat1 FA where narrowing is free
Nathanw1014 Jul 30, 2026
1556cd1
vulkan: enable the coopmat1 FA wave32 narrowing rule by default
Nathanw1014 Aug 30, 2026
e75a22b
vulkan: mul_mat_id per-expert-n tile selection (Stage 2a, env-gated)
Nathanw1014 Jul 14, 2026
33a08e8
vulkan: mul_mat_id small-tile shape probes (env-gated)
Nathanw1014 Jul 14, 2026
fe10c7f
vulkan: mul_mat_id taller medium tile probe (GGML_VK_MMID_M128, env-g…
Nathanw1014 Jul 14, 2026
07e35fe
vulkan: mmid wave32 probe (GGML_VK_MMID_WAVE32, env-gated)
Nathanw1014 Jul 14, 2026
18569a9
vulkan: mul_mat_id f16-B probe (GGML_VK_MMID_F16B, env-gated)
Nathanw1014 Jul 14, 2026
8ad46e1
vulkan: guard mmid f16-B path on pipeline existence (Q2_0 fallback)
Nathanw1014 Jul 26, 2026
68df071
tests: cover MMQ tile boundaries in MUL_MAT and MUL_MAT_ID
Nathanw1014 Aug 6, 2026
77214b5
vulkan: create coopmat2 mul_mat_id pipelines with the real param count
Nathanw1014 Aug 8, 2026
6192a05
vulkan: enable the Strix mmid tile gates by default
Nathanw1014 Aug 30, 2026
891cfff
vulkan: run the quantised dense coopmat pipelines at wave32
Nathanw1014 Aug 18, 2026
f4d6f9e
vulkan: four env-gated Strix Halo prefill fixes for delta-net MoE
Nathanw1014 Aug 6, 2026
874b904
vulkan: reject ne[3] > 1 in the mul_mat_id scale epilogue
Nathanw1014 Aug 6, 2026
e249248
vulkan : default the transposed-concat path on
Nathanw1014 Aug 17, 2026
7db0111
vulkan: flush pending compute ctx before perf logger timestamps
Nathanw1014 Aug 2, 2026
6ab7cb6
vulkan: bound command buffers by memory traffic, not just flops
Nathanw1014 Aug 2, 2026
e387252
ggml: cut backend splits on the input constant, not the grown capacity
Nathanw1014 Aug 9, 2026
492e443
vulkan : optional f16 B operand for quantized MUL_MAT on coopmat1
Nathanw1014 Aug 16, 2026
d737bd5
vulkan : add auto mode to GGML_VK_DENSE_F16B
Nathanw1014 Aug 16, 2026
9f5ece3
vulkan: derive the mul_mat_id tiles from the wave64 dense tiles
Nathanw1014 Sep 8, 2026
1debd52
vulkan: keep the coopmat1 FA wave32 pin to multi-row dispatches
Nathanw1014 Sep 8, 2026
2f311ba
Merge branch 'master' into strix/vulkan-stack-only
Nathanw1014 Sep 8, 2026
5f85164
Merge pull request #17 from halo-box/strix/vulkan-stack-only
Nathanw1014 Sep 8, 2026
6b1f308
Merge pull request #42 from ajaxdude/jeromecoste-microsoft-small-proj…
LaurentZuijdwijk Sep 11, 2026
29e091e
Merge remote-tracking branch 'pr/27' into resolve-pr-27
LaurentZuijdwijk Sep 11, 2026
054a736
merge: sync Halo master while preserving Strix kernels
LaurentZuijdwijk Sep 12, 2026
0007bc6
Merge pull request #35 from arc-uri-el/contribution/checkpoint-io-202…
LaurentZuijdwijk Sep 12, 2026
a142a61
Merge branch 'master' into sync/halo-master-2026-09-11
LaurentZuijdwijk Sep 12, 2026
6548035
Merge pull request #47 from halo-box/sync/halo-master-2026-09-11
LaurentZuijdwijk Sep 12, 2026
6994643
Merge pull request #32 from halo-box/rocmfpx/vulkan-2026-09-07
LaurentZuijdwijk Sep 13, 2026
f2431a2
server : rename --cache-disk to --cache-dir
Sep 14, 2026
b009b79
llama: flatten the GDN output projection input to 2-D
SimonTeixidor Sep 9, 2026
e3f31cf
qwen35, qwen35moe: run gated_delta_net in place on the recurrent stat…
SimonTeixidor Sep 2, 2026
e20d6f5
chat : enforce string enums in Qwen XML tool arguments (#26)
arc-uri-el Sep 15, 2026
cfe6bb1
HIP : keep FA head size 192 off the WMMA kernel (#55)
SimonTeixidor Sep 15, 2026
e3120a1
sync upstream llama.cpp commits 2026 09 15 (#28)
dzannotti Sep 15, 2026
77024dd
--ngram-on-disk and lazymode merge (#29)
dzannotti Sep 15, 2026
8a400d0
ggml: recover two upstream commits dropped during the #28 sync (#30)
dzannotti Sep 15, 2026
f6a7a6c
Record upstream sync (content applied via #28, gaps recovered in #30)
dzannotti Sep 15, 2026
4bc01d0
docs: add upstream sync procedure (#31)
dzannotti Sep 15, 2026
dced43c
Merge halo-box/llama.cpp master into strix-llama.cpp
dzannotti Sep 15, 2026
0636c9a
pwilkin/strix-halo official merge (#63)
pwilkin Sep 16, 2026
82aed60
Merge strix master (#63) into the halo-box sync
dzannotti Sep 17, 2026
dffbb78
Merge halo-box/llama.cpp master (#31) into strix-llama.cpp
dzannotti Sep 17, 2026
f86f7a1
HIP : route Q6_K through MMQ up to ne11 = 1024 on RDNA 3.5 (#38)
Nyovelt Sep 17, 2026
2ee5fe2
Merge halo-box/llama.cpp master into strix (2026-09-15) (#64)
dzannotti Sep 17, 2026
8c1c282
docs: record why upstream Vulkan sparse FA was deferred (#65)
dzannotti Sep 17, 2026
57f5bde
fix: guard the qwen4exp PLE prefetch on the model architecture
dzannotti Sep 17, 2026
42f7e89
cuda: enable the BF16 WMMA matmul path only for qwen4exp
dzannotti Sep 17, 2026
89fb1c6
Merge remote-tracking branch 'yitizi/pr2-standalone' into persistent-…
storm1er Sep 22, 2026
1a005ba
hip : isolate MMB scratch by backend context
Mushoz Sep 24, 2026
27f2476
qsa: maskless multi-sequence block selection
gaetan-puleo Sep 24, 2026
adb3c50
llama : fix qsa_n_kv_window crash when n_stream > 1
gaetan-puleo Sep 24, 2026
c3e9ce9
qsa: unify scalar visibility gate for single and multi sequence
gaetan-puleo Sep 24, 2026
e7ff2be
Merge pull request #83 from Mushoz/fix/rocm-mmb-context-scratch
gaetan-puleo Sep 24, 2026
d367e26
qsa: fix compact graph reuse, shared-block visibility, and 2-D scan cost
gaetan-puleo Sep 24, 2026
dd601a1
hip: port gufo's Flash-Next prefill/decode ideas to qwen4exp on gfx1151
pwilkin Sep 24, 2026
7b1ef03
llama : count the cache's streams in qsa_n_kv_window (#73)
pwilkin Sep 25, 2026
444e7cb
qsa : keep the masked path when a block splits a sequence over sequen…
pwilkin Sep 25, 2026
14dad76
qsa : fill only the compact rows the queries read, harden qsa_metadata
pwilkin Sep 25, 2026
5039d03
ggml-cpu : attend only the selected keys of flash_attn_ext
pwilkin Sep 25, 2026
ae2d2fe
qwen4exp : keep the one-sequence compact visibility a broadcast
pwilkin Sep 25, 2026
e71055a
Merge branch 'master' into feat/qsa-maskless-multi-seq
pwilkin Sep 25, 2026
0ab8bec
Merge pull request #86 from halo-box/feat/qsa-maskless-multi-seq
pwilkin Sep 25, 2026
0389588
Merge pull request #87 from pwilkin/gufo-ideas
jmejiaperez Sep 25, 2026
95ae7a2
Merge branch 'master' into perf/mmb-qwen4exp-only
pwilkin Sep 25, 2026
bc866d5
cuda : gate mmb per backend context instead of per process
pwilkin Sep 25, 2026
9bc06f5
qsa : take 1..512 queries in the per-query decode kernel
michal-zurkowski Sep 23, 2026
b4be8b7
qwen4exp : use complete-block selection for every ubatch size
michal-zurkowski Sep 23, 2026
10c2b9e
qwen4exp : incremental pooled-key update for ubatches up to 127 tokens
michal-zurkowski Sep 23, 2026
0fc7226
Merge pull request #82 from michal-zurkowski/qsa/decode-small-ubatches
gaetan-puleo Sep 26, 2026
4208491
tests : add --mmb on|off to test-backend-ops
pwilkin Sep 26, 2026
c3ee03a
Merge halo-box master into perf/mmb-qwen4exp-only
pwilkin Sep 26, 2026
cb7dfec
cuda : zero quantized padding without a synchronous memset
pwilkin Sep 26, 2026
9484e46
Merge pull request #75 from halo-box/perf/mmb-qwen4exp-only
pwilkin Sep 26, 2026
52d7e10
Merge pull request #74 from halo-box/fix/ple-prefetch-arch-guard
gaetan-puleo Sep 26, 2026
ee3fbdc
hip: select top-k score ties by increasing column index
gaetan-puleo Sep 27, 2026
2b6b434
hip: keep topk-moe fusion when outputs alias router logits
gaetan-puleo Sep 27, 2026
9959849
qwen4exp: own PLE prefetch inputs in the detached thread
gaetan-puleo Sep 27, 2026
f7ff38a
server : preserve context checkpoints across slot save/restore
Tough-Respawn Aug 15, 2026
4024eb1
spec : MTP draft vocabulary subset (--spec-draft-mtp-vocab N)
SimonTeixidor Sep 13, 2026
511bc9c
spec : make the MTP draft vocabulary subset per context
SimonTeixidor Sep 15, 2026
9fd255c
tests : per-context MTP draft vocabulary regression test
SimonTeixidor Sep 15, 2026
73aa8cf
ggml-cuda : shape-aware graph cache key
SimonTeixidor Sep 27, 2026
b6b813d
tests : check the tested backend's picks in test_top_k_stable_ties
LaurentZuijdwijk Sep 27, 2026
72ea598
Merge pull request #101 from halo-box/split/pr58-mtp-draft-vocab
LaurentZuijdwijk Sep 27, 2026
db3e211
Merge pull request #93 from halo-box/fix/qwen4exp-ple-prefetch-lifetime
gaetan-puleo Sep 27, 2026
4bf9d79
Merge pull request #95 from halo-box/fix/hip-topk-moe-alias
gaetan-puleo Sep 27, 2026
ab6dfc7
Merge pull request #94 from halo-box/fix/hip-topk-stable-ties
gaetan-puleo Sep 27, 2026
063d804
hip: stabilize 128–512 token QSA incremental key updates
gaetan-puleo Sep 27, 2026
27c308e
hip: keep HC residual BF16 marks stable across scheduler split cuts
gaetan-puleo Sep 27, 2026
ec01a7d
Merge pull request #96 from halo-box/fix/qwen4exp-qsa-fast-512-on-moe
gaetan-puleo Sep 27, 2026
2fd4c2a
cuda: ROCmFPx load/dequant/dispatch paths for HIP builds
baraxnaxgaming-commits Sep 10, 2026
b0b7222
cuda: MMQ tile path for Q4_0_ROCMFP4_FAST (dp4a + WMMA/MFMA layouts)
baraxnaxgaming-commits Sep 8, 2026
3db7cc3
cuda: drop unreferenced rocmfp4 HIP helper files
baraxnaxgaming-commits Sep 28, 2026
d3a8ab5
cuda: gate Q4_0_ROCMFP4_FAST MMQ to validated architectures
baraxnaxgaming-commits Sep 28, 2026
7a9196d
Merge pull request #100 from halo-box/split/pr58-cuda-graph-key
LaurentZuijdwijk Sep 28, 2026
57fa06b
Merge upstream llama.cpp (2026-09-29)
dzannotti Sep 29, 2026
a1c9358
convert : drop unused imports in qwen4exp
dzannotti Sep 29, 2026
e571606
Merge pull request #33 from halo-box/sync/upstream-2026-09-29
dzannotti Sep 29, 2026
a4a4bfa
Merge halo-box/llama.cpp master into strix (2026-09-29)
dzannotti Sep 29, 2026
acbfbc8
ci : nightly ROCm release builds in the lemonade-sdk/llamacpp-rocm la…
dzannotti Sep 29, 2026
7e4f916
ci : release every merge to master, Linux zips by default
dzannotti Sep 29, 2026
ea79e75
ci : add a Linux Vulkan zip to each release
dzannotti Sep 29, 2026
3deeb33
Merge pull request #112 from halo-box/ci/rocm-nightly-releases
gaetan-puleo Sep 29, 2026
8388e3f
hip: optimize Qwen3.8-Flash-Next prefill on Strix Halo (#91)
gaetan-puleo Sep 29, 2026
6f33279
Merge master (#91, #112) into the 2026-09-29 halo sync
dzannotti Sep 29, 2026
8cd4a97
Merge pull request #98 from ChrisC381/pr-slot-checkpoints
dzannotti Sep 29, 2026
ef338d7
Merge branch 'master' into feat/hip-fp4-mmq
dzannotti Sep 29, 2026
12643af
ggml : backport persistent view initialization after buffer-size spli…
arc-uri-el Sep 29, 2026
40cc375
cuda: return 0 for invalid ROCmFP4 scale bytes in the HIP decoder
baraxnaxgaming-commits Sep 30, 2026
57dd574
Merge remote-tracking branch 'origin/master' into persistent-prompt-c…
storm1er Sep 30, 2026
24c8ade
Merge halo/master into pr/qwen35-gdn-graph
SimonTeixidor Sep 30, 2026
3a5ee8c
Merge pull request #57 from SimonTeixidor/pr/qwen35-gdn-graph
dzannotti Sep 30, 2026
8b72177
Merge pull request #40 from baraxnaxgaming-commits/feat/hip-fp4-mmq
dzannotti Sep 30, 2026
5db1e9d
Merge master (#37, #40, #57) into the 2026-09-29 halo sync
pwilkin Sep 30, 2026
f6ade7d
cuda : fix read past the end of the top-k MoE group in the alloc-depe…
pwilkin Sep 30, 2026
4048e03
hip: gate the MMB matmul path by quant type, not architecture
gaetan-puleo Sep 30, 2026
908824a
Merge pull request #111 from halo-box/sync/halo-master-2026-09-29
pwilkin Sep 30, 2026
307c50d
Merge pull request #123 from gaetan-puleo/fix/mmb-quant-type-gate
pwilkin Sep 30, 2026
0f36c46
Merge pull request #81 from storm1er/persistent-prompt-cache
dzannotti Oct 1, 2026
86bd254
cuda : widen QSA selected-key block ids to uint32 and lift the depth …
klucsik Oct 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/010-bug-compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
If the compilation succeeds with ccache disabled you should be able to permanently fix the issue
by clearing `~/.cache/ccache` (on Linux).

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
- type: textarea
id: commit
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/011-bug-results.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
please reproduce your issue using one of the examples/binaries in this repository.
The `llama-completion` binary can be used for simple and reproducible model inference.

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
- type: textarea
id: version
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/019-bug-misc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ body:
If you encountered the issue while using an external UI (e.g. ollama),
please reproduce your issue using one of the examples/binaries in this repository.

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
- type: textarea
id: version
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/020-enhancement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
value: |
[Please post your idea first in Discussion if there is not yet a consensus for this enhancement request. This will help to keep this issue tracker focused on enhancements that the community has agreed needs to be implemented.](https://github.com/ggml-org/llama.cpp/discussions/categories/ideas)

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).

- type: checkboxes
id: prerequisites
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/030-research.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
value: |
Don't forget to check for any [duplicate research issue tickets](https://github.com/ggml-org/llama.cpp/issues?q=is%3Aopen+is%3Aissue+label%3A%22research+%F0%9F%94%AC%22)

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).

- type: checkboxes
id: research-stage
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/040-refactor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ body:
Don't forget to [check for existing refactor issue tickets](https://github.com/ggml-org/llama.cpp/issues?q=is%3Aopen+is%3Aissue+label%3Arefactoring) in case it's already covered.
Also you may want to check [Pull request refactor label as well](https://github.com/ggml-org/llama.cpp/pulls?q=is%3Aopen+is%3Apr+label%3Arefactoring) for duplicates too.

Please fill out this template yourself, copypasting language model outputs is [strictly prohibited](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).
AI assistance is allowed in this fork. Disclose how it was used, verify the information in your report, and take responsibility for its accuracy. See [our AI usage policy](https://github.com/halo-box/strix-llama.cpp/blob/master/CONTRIBUTING.md#ai-usage-policy).

- type: textarea
id: background-description
Expand Down
238 changes: 238 additions & 0 deletions .github/actions/test-llamacpp-build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
# Same as lemonade-sdk/llamacpp-rocm (MIT).
name: 'Test Llama.cpp Build'
description: 'Download and test llama.cpp build artifacts'

inputs:
os_type:
description: 'Operating system type (Windows or Linux)'
required: true
gfx_target:
description: 'GPU target (e.g., gfx1151, gfx1150)'
required: true
artifact_name:
description: 'Full artifact name to download'
required: true

runs:
using: "composite"
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact_name }}
path: llama-binaries

- name: Download test model (Windows)
if: inputs.os_type == 'Windows'
shell: powershell
run: |
$modelUrl = "https://huggingface.co/unsloth/Qwen3-0.6B-GGUF/resolve/main/Qwen3-0.6B-Q4_0.gguf?download=true"
$modelPath = "Qwen3-0.6B-Q4_0.gguf"

Write-Host "Downloading test model from: $modelUrl"
curl.exe -L -o $modelPath $modelUrl

# Verify download
if (Test-Path $modelPath) {
$fileSize = (Get-Item $modelPath).Length
Write-Host "Model downloaded successfully. Size: $fileSize bytes"
} else {
Write-Error "Failed to download model"
exit 1
}

- name: Download test model (Linux)
if: inputs.os_type == 'Linux'
shell: bash
run: |
model_url="https://huggingface.co/unsloth/Qwen3-0.6B-GGUF/resolve/main/Qwen3-0.6B-Q4_0.gguf?download=true"
model_path="Qwen3-0.6B-Q4_0.gguf"

echo "Downloading test model from: $model_url"
curl -L -o "$model_path" "$model_url"

# Verify download
if [ -f "$model_path" ]; then
file_size=$(stat -c%s "$model_path")
echo "Model downloaded successfully. Size: $file_size bytes"
else
echo "Failed to download model"
exit 1
fi

- name: Set up library path (Linux)
if: inputs.os_type == 'Linux'
shell: bash
run: |
# Add the llama-binaries directory to LD_LIBRARY_PATH
echo "LD_LIBRARY_PATH=$(pwd)/llama-binaries:$LD_LIBRARY_PATH" >> $GITHUB_ENV

- name: Run llama-cli test (Windows)
if: inputs.os_type == 'Windows'
shell: powershell
run: |
$llamaCliPath = "llama-binaries\llama-cli.exe"
$modelPath = "Qwen3-0.6B-Q4_0.gguf"

# Verify llama-cli exists
if (-not (Test-Path $llamaCliPath)) {
Write-Error "llama-cli.exe not found at: $llamaCliPath"
Write-Host "Available files in llama-binaries:"
Get-ChildItem -Recurse "llama-binaries"
exit 1
}

Write-Host "Running llama-cli test for ${{ inputs.gfx_target }}..."
Write-Host "Command: $llamaCliPath -m `"$modelPath`" -ngl 99 -p `"I believe the meaning of life is`" -st -v"

# Run the command and capture output
try {
$process = Start-Process -FilePath $llamaCliPath -ArgumentList @("-m", "`"$modelPath`"", "-ngl", "99", "-p", "`"I believe the meaning of life is`"", "-st", "-v") -NoNewWindow -Wait -PassThru -RedirectStandardOutput "stdout.txt" -RedirectStandardError "stderr.txt"

# Wait for the process to complete
$process.WaitForExit()

# Read both stdout and stderr
$stdout = Get-Content "stdout.txt" -Raw -ErrorAction SilentlyContinue
$stderr = Get-Content "stderr.txt" -Raw -ErrorAction SilentlyContinue

# Always print the output (both stdout and stderr)
Write-Host "=== LLAMA-CLI STDOUT ==="
if ($stdout) {
Write-Host $stdout
} else {
Write-Host "(empty)"
}
Write-Host "=== LLAMA-CLI STDERR ==="
if ($stderr) {
Write-Host $stderr
} else {
Write-Host "(empty)"
}
Write-Host "=== END OUTPUT ==="
Write-Host "Process exit code: $($process.ExitCode)"

# Combine output for pattern matching (stderr often contains important CUDA/GPU info)
$output = $stdout + $stderr

# Clean up temp files
Remove-Item "stdout.txt" -ErrorAction SilentlyContinue
Remove-Item "stderr.txt" -ErrorAction SilentlyContinue
}
catch {
Write-Error "Failed to start llama-cli process: $_"
Write-Error "This usually indicates a missing dependency (DLL) or permission issue"
# Try to get more details about dependencies
Write-Host "Checking for dependency issues..."
Write-Host "Files in llama-binaries directory:"
Get-ChildItem "llama-binaries" | Format-Table Name, Length
exit 1
}

# Check if the process exited successfully
if ($process.ExitCode -ne 0) {
Write-Host "❌ llama-cli exited with error code: $($process.ExitCode)"
Write-Host "This error code typically indicates:"
Write-Host " - Exit code 127: Command or library not found (missing DLL)"
Write-Host " - Exit code 1: General error"
Write-Host " - Other codes: Application-specific errors"
Write-Host ""
Write-Host "Please check the STDERR output above for specific error messages."
exit 1
}

# Check for expected outputs
$foundGpuOffload = $output -match "offloaded 29/29 layers to GPU"
$foundThinkTag = $output -match "</think>"

Write-Host "=== TEST RESULTS ==="
Write-Host "Expected 'offloaded 29/29 layers to GPU': $(if ($foundGpuOffload) { 'FOUND' } else { 'NOT FOUND' })"
Write-Host "Expected '</think>' tag: $(if ($foundThinkTag) { 'FOUND' } else { 'NOT FOUND' })"

if ($foundGpuOffload -and $foundThinkTag) {
Write-Host "✅ Test PASSED - Both expected outputs found"
} else {
Write-Host "❌ Test FAILED - Missing expected outputs"
exit 1
}

- name: Run llama-cli test (Linux)
if: inputs.os_type == 'Linux'
shell: bash
run: |
llama_cli_path="./llama-binaries/llama-cli"
model_path="Qwen3-0.6B-Q4_0.gguf"
output_file="llama_output.txt"

# Make llama-cli executable
chmod +x "$llama_cli_path"

# Verify llama-cli exists
if [ ! -f "$llama_cli_path" ]; then
echo "llama-cli not found at: $llama_cli_path"
echo "Available files in llama-binaries:"
find llama-binaries -type f
exit 1
fi

echo "Running llama-cli test for ${{ inputs.gfx_target }}..."
echo "Command: $llama_cli_path -m \"$model_path\" -ngl 99 -p \"I believe the meaning of life is\" -st -v"

# Run the command and capture output to file (more robust than variable)
set +e # Don't exit on error, we want to capture the output and check exit code manually
"$llama_cli_path" -m "$model_path" -ngl 99 -p "I believe the meaning of life is" -st -v > "$output_file" 2>&1
exit_code=$?
set -e # Re-enable exit on error

echo "=== LLAMA-CLI OUTPUT ==="
if [ -f "$output_file" ] && [ -s "$output_file" ]; then
cat "$output_file"
else
echo "(empty)"
fi
echo "=== END OUTPUT ==="
echo "Process exit code: $exit_code"

# Check if the process exited successfully
if [ $exit_code -ne 0 ]; then
echo "❌ llama-cli exited with error code: $exit_code"
echo "This error code typically indicates:"
echo " - Exit code 127: Command or library not found (missing shared library)"
echo " - Exit code 1: General error"
echo " - Other codes: Application-specific errors"
echo ""
echo "Checking for missing library dependencies..."
ldd "$llama_cli_path" || echo "ldd command failed"
echo ""
echo "Please check the output above for specific error messages."
rm -f "$output_file"
exit 1
fi

# Check for expected outputs using grep -F (fixed strings, no regex interpretation)
# This handles special characters like angle brackets more reliably
found_gpu_offload=false
found_think_tag=false

if grep -F "offloaded 29/29 layers to GPU" "$output_file" > /dev/null 2>&1; then
found_gpu_offload=true
fi

if grep -F "</think>" "$output_file" > /dev/null 2>&1; then
found_think_tag=true
fi

echo "=== TEST RESULTS ==="
echo "Expected 'offloaded 29/29 layers to GPU': $(if [ "$found_gpu_offload" = true ]; then echo 'FOUND'; else echo 'NOT FOUND'; fi)"
echo "Expected '</think>' tag: $(if [ "$found_think_tag" = true ]; then echo 'FOUND'; else echo 'NOT FOUND'; fi)"

# Clean up output file
rm -f "$output_file"

if [ "$found_gpu_offload" = true ] && [ "$found_think_tag" = true ]; then
echo "✅ Test PASSED - Both expected outputs found"
else
echo "❌ Test FAILED - Missing expected outputs"
exit 1
fi

44 changes: 41 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@

<!-- Describe what this PR does and why. Be concise but complete -->

## Measurements

<!--
Required for anything that can move throughput, latency, memory use, or output. Delete this section only for docs,
comments, CI or build changes that cannot affect runtime - and say that is why.
Full rules: CONTRIBUTING.md#benchmarking-requirements
-->

```
Device: Ryzen AI Max+ 395 / <mini-PC or laptop model>
Memory: 128 GB LPDDR5X-8000
Power: <sustained TDP / platform profile / power governor>
BIOS: UMA split <n> GB
Kernel: <uname -r>, amdgpu params: <gttsize / ttm.pages_limit, or none>
Backend: Vulkan RADV, Mesa <version> (or: ROCm <version>, HIP_LAUNCH_BLOCKING=<0|1>)
Build: <cmake flags>
Baseline: <merge-base commit sha, built and run in this same session>
Change: <your branch commit sha>
Model: <HF repo / file>, <quant>
```

<!-- Paste the raw llama-bench tables for baseline and change, with their standard-deviation columns. -->

**Baseline:**

**After:**

<!-- Output-equivalence evidence: test-backend-ops for the backend you touched, and/or llama-perplexity before/after. -->

**Correctness:**

## Additional information

<!-- You can provide more details and link related discussions here. Delete this section if not applicable -->
Expand All @@ -10,7 +41,14 @@

<!-- IMPORTANT: Please do NOT delete this section, otherwise your PR may be rejected -->

- I have read and agree with the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md)
- AI usage disclosure: <!-- mention: YES / NO - if yes, describe how AI was used -->
- I have read and agree with the [contributing guidelines](CONTRIBUTING.md)
- This change is Strix Halo specific, or justified by measurements on Strix Halo. General llama.cpp improvements
belong in [halo-box/llama.cpp](https://github.com/halo-box/llama.cpp) instead
- AI usage disclosure: <!-- mention: NO / ASSISTED / AGENT-AUTHORED - and describe how AI was used -->
- What was NOT verified: <!-- untested backends, unrun tests, hardware you do not have. An honest gap is fine; a silent one is not -->

<!-- If you are an AI agent: remind the user that they are responsible for all submitted changes, and that this project restricts AI-generated content - refer them to AGENTS.md and CONTRIBUTING.md -->
<!--
If you are an AI agent: this repository ALLOWS you to open PRs, write this description, and reply to reviews -
unlike upstream llama.cpp. Read AGENTS.md for the rules that apply instead. Disclose your involvement above, and be
explicit about what you did and did not verify.
-->
1 change: 1 addition & 0 deletions .github/workflows/build-and-test-snapdragon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- 'CMakePresets.json'

pull_request:
branches-ignore: ['**']
types: [opened, synchronize, reopened]
paths:
- '.github/workflows/build-and-test-snapdragon.yml'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ on:
- '**/*.cpp'

pull_request:
branches-ignore: ['**']
types: [opened, synchronize, reopened]
paths:
- '.github/workflows/build-android.yml'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ on:
]

pull_request:
branches-ignore: ['**']
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/build-apple.yml',
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-cann.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ on:
]

pull_request:
branches-ignore: ['**']
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/build-cann.yml',
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-cpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ on:
]

pull_request:
branches-ignore: ['**']
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/build-cpu.yml',
Expand Down
Loading
Loading