]> git.djapps.eu Git - pkg/ggml/sources/ggml/commit
hexagon: general DMA and Binary Op fixes for large strides (llama/20918)
authorMax Krasnyansky <redacted>
Mon, 23 Mar 2026 22:33:49 +0000 (15:33 -0700)
committerGeorgi Gerganov <redacted>
Sat, 28 Mar 2026 11:39:09 +0000 (13:39 +0200)
commit6ef520c8fd6843eb7dbc12e7f57bf5f134b4360d
tree0ff6a21163a48ee084a6e5d229645c05a2e9ef0f
parent6b53cddbae903a38eb88ebd00406356dd32b5600
hexagon: general DMA and Binary Op fixes for large strides (llama/20918)

* hex-dma: make chained dma the default to handle newer models

This also includes some new instrumentation that we can remove later.

* hexagon: add uint32 dump helper

* hexagon: use single-page VTCM allocation to avoid issues with large gather ops in ssm-conv

ssm-conv uses HVX gather instruction and that instruction cannot handle cases where the base+offset
spans page boundaries.

* hexagon: update ssm-conv to make base-addr compute a bit easier to read

* hex-dma: use 1d mode for reshaping, it supports sizes up to 24-bits (>16MB)

* hex-bin: fix incorrect stride logic

* hexagon: make sure repack buffs are dumped for verbose > 2

* hex-bin: consistently use dma_queue_push even for dummy dst transactions

* hex-dma: start using 2d-wide mode on v75 and up

The removes the need to deal with the 16-bit limitaion for the strides.

* hex-bin: cleanup kernel selection logic

* hex-bin: cleanup binary op core and fix transposed tensor handling

* snapdragon: update run-bench to use larger ubatch and fa-on
src/ggml-hexagon/ggml-hexagon.cpp
src/ggml-hexagon/htp/binary-ops.c
src/ggml-hexagon/htp/hex-dma.c
src/ggml-hexagon/htp/hex-dma.h
src/ggml-hexagon/htp/hex-dump.h
src/ggml-hexagon/htp/hmx-matmul-ops.c
src/ggml-hexagon/htp/hvx-utils.h
src/ggml-hexagon/htp/main.c
src/ggml-hexagon/htp/ssm-conv.c