whisper.cpp/ggml/src/ggml-hexagon/htp
Max Krasnyansky ddc63beb89
hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049)
* hex-l2: use dirty ranges for flushing

* hex-l2: simplify range based flush logic

* hex-l2: optimize dirty range scans

* hex-hvx: support for reduce_max_i32

* hex-mm: optimize fused MUL_MAT+ADD to use vtcm for bias when it fits

* hex-mmid: optimize mmid row-mapping generation

* hex-mmid: optimize mmid row-mapping generation

* hex-mmid: optimize mmid row-mapping generation (round2)

* hmx-mm: optimize output proc by tiling (col-chunking)

* hex-fa: start the next q dmas a bit earlier

* hex-fa: prefetch Q even earlier

* hvx-fa: optimize softmax to keep things in hvx registers

* hex-fa: hoist const register init in softmax loop

* hmx-fa: kick off next-qkv DMAs before o-proc

* hmx-fa: hoist various checks out of the inner loop

* hmx-fa: adjust the cost model to better balance softmax work across hvx threads

* hmx-fa: overlap diag rescale build with last HMX task

* hmx-fa: optimize idx update in output proc

* hmx-fa: unroll the softmax loops for improved perf

* hmx-fa: overlap qk-dot with softmax, double-buffer p and s tiles

* hex-trace: double the default number of trace entries

* hex-trace: add trace events for opbatch and buffer mgmt

* hex-trace: overhaul tracing to simplify runtime event handling and support opbatch stats

* hex-trace: replace ascii timeline diagram with pipeline bubbles detector

* hex-trace: handle missing start/stop events

* hex-dma: always log stop/start trace events even for dummy dmas

* hex-scripts: fix flake warnings
2026-07-30 16:31:48 +03:00
..
CMakeLists.txt hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
act-ops.c hexagon: activation ops update (llama/25974) 2026-07-30 16:31:47 +03:00
argsort-ops.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
binary-ops.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
cmake-toolchain.cmake hexagon: MUL_MAT and MUL_MAT_ID rework : 32x32 tiled weight repack, kernel-params, cached graphs (llama/24954) 2026-06-26 16:03:57 +03:00
concat-ops.c hexagon: new vtcm layouts and improved pipelines for MUL_MAT, MUL_MAT_ID and FLASH_ATTN_EXT (llama/25425) 2026-07-10 13:06:42 +03:00
cpy-ops.c hexagon: add support for CONCAT op (llama/23648) 2026-05-29 09:47:30 +03:00
cumsum-ops.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
diag-ops.c Hexagon: DAIG op (llama/22195) 2026-04-30 11:29:15 +03:00
dma-queue.c hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
dma-queue.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
fill-ops.c hexagon: add support for FILL op (llama/22198) 2026-04-30 11:29:15 +03:00
flash-attn-ops.c hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
flash-attn-ops.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
gated-delta-net-ops.c Remove padding and multiple D2D copies for MTP (llama/24086) 2026-06-15 10:33:53 +03:00
get-rows-ops.c hexagon: add support for CONCAT op (llama/23648) 2026-05-29 09:47:30 +03:00
hex-bitmap.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hex-common.h hexagon: MUL_MAT and MUL_MAT_ID rework : 32x32 tiled weight repack, kernel-params, cached graphs (llama/24954) 2026-06-26 16:03:57 +03:00
hex-dma.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hex-dump.h hexagon: general DMA and Binary Op fixes for large strides (llama/20918) 2026-03-29 15:04:36 +03:00
hex-fastdiv.h hexagon: support for OP_CPY, host buffers now optional (llama/18822) 2026-01-30 15:56:40 +02:00
hex-profile.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hex-utils.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hmx-fa-kernels.h hexagon: new vtcm layouts and improved pipelines for MUL_MAT, MUL_MAT_ID and FLASH_ATTN_EXT (llama/25425) 2026-07-10 13:06:42 +03:00
hmx-mm-kernels-tiled.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
hmx-queue.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hmx-queue.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
hmx-utils.h hexagon: new vtcm layouts and improved pipelines for MUL_MAT, MUL_MAT_ID and FLASH_ATTN_EXT (llama/25425) 2026-07-10 13:06:42 +03:00
htp-ctx.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
htp-ops.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
htp-tensor.c hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
htp-tensor.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
htp-vtcm.h hexagon: new vtcm layouts and improved pipelines for MUL_MAT, MUL_MAT_ID and FLASH_ATTN_EXT (llama/25425) 2026-07-10 13:06:42 +03:00
htp_iface.idl hexagon: MUL_MAT and MUL_MAT_ID rework : 32x32 tiled weight repack, kernel-params, cached graphs (llama/24954) 2026-06-26 16:03:57 +03:00
hvx-arith.h hexagon: add fp16 support for binary ops: add,sub,mul,div (llama/20139) 2026-03-16 13:10:15 +02:00
hvx-base.h hexagon: flash attention rework (optimizations, accuracy improvements, etc) (llama/25085) 2026-07-10 13:06:42 +03:00
hvx-copy.h hexagon: hmx flash attention (llama/22347) 2026-05-02 15:02:42 +03:00
hvx-div.h hexagon: improve RMS_NORM and DIV accuracy (llama/21251) 2026-04-30 11:28:59 +03:00
hvx-dump.h ggml-hexagon: flash-attention and reduce-sum optimizations (llama/19141) 2026-02-08 09:29:10 +02:00
hvx-exp.h hexagon: flash attention rework (optimizations, accuracy improvements, etc) (llama/25085) 2026-07-10 13:06:42 +03:00
hvx-fa-kernels.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
hvx-flash-attn.h hexagon: MUL_MAT, MUL_MAT_ID, FLASH_ATTN and GDN cleanup and optimizations for latest models (llama/23989) 2026-06-08 14:36:36 +03:00
hvx-floor.h hexagon: support for OP_CPY, host buffers now optional (llama/18822) 2026-01-30 15:56:40 +02:00
hvx-inverse.h hexagon: add fp16 support for binary ops: add,sub,mul,div (llama/20139) 2026-03-16 13:10:15 +02:00
hvx-log.h hexagon: MUL_MAT, MUL_MAT_ID, FLASH_ATTN and GDN cleanup and optimizations for latest models (llama/23989) 2026-06-08 14:36:36 +03:00
hvx-mm-kernels-flat.h hexagon: flash attention rework (optimizations, accuracy improvements, etc) (llama/25085) 2026-07-10 13:06:42 +03:00
hvx-mm-kernels-tiled.h hexagon: flash attention rework (optimizations, accuracy improvements, etc) (llama/25085) 2026-07-10 13:06:42 +03:00
hvx-norm.h hexagon: tiling, tracing and optimizations for unary ops (llama/25474) 2026-07-30 16:31:33 +03:00
hvx-pow.h hexagon: MUL_MAT, MUL_MAT_ID, FLASH_ATTN and GDN cleanup and optimizations for latest models (llama/23989) 2026-06-08 14:36:36 +03:00
hvx-reduce.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
hvx-repl.h hexagon: eliminate scalar VTCM loads via HVX splat helpers (llama/22993) 2026-05-14 21:26:48 +03:00
hvx-scale.h hexagon: support for OP_CPY, host buffers now optional (llama/18822) 2026-01-30 15:56:40 +02:00
hvx-sigmoid.h hexagon: flash attention rework (optimizations, accuracy improvements, etc) (llama/25085) 2026-07-10 13:06:42 +03:00
hvx-sin-cos.h hexagon: add support for CONCAT op (llama/23648) 2026-05-29 09:47:30 +03:00
hvx-sqrt.h hexagon: Add ARGSORT, DIV, SQR, SQRT, SUM_ROWS, GEGLU (llama/19406) 2026-02-15 21:44:37 +02:00
hvx-types.h hexagon: support for OP_CPY, host buffers now optional (llama/18822) 2026-01-30 15:56:40 +02:00
hvx-utils.h hexagon: tiling, tracing and optimizations for unary ops (llama/25474) 2026-07-30 16:31:33 +03:00
main.c hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
matmul-ops.c hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
matmul-ops.h hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA) (llama/26049) 2026-07-30 16:31:48 +03:00
pad-ops.c hexagon: MUL_MAT, MUL_MAT_ID, FLASH_ATTN and GDN cleanup and optimizations for latest models (llama/23989) 2026-06-08 14:36:36 +03:00
repeat-ops.c hexagon: improved Op queuing, buffer and cache management (llama/21705) 2026-04-30 11:29:06 +03:00
rope-ops.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
set-rows-ops.c hexagon: add support for CONCAT op (llama/23648) 2026-05-29 09:47:30 +03:00
softmax-ops.c hexagon: improved Op queuing, buffer and cache management (llama/21705) 2026-04-30 11:29:06 +03:00
solve-tri-ops.c hexagon: add SOLVE_TRI op (llama/21974) 2026-04-30 11:29:18 +03:00
ssm-conv.c fix(hexagon): use padded stride for ssm-conv weights (llama/24470) 2026-06-26 16:03:57 +03:00
sum-rows-ops.c hexagon: improved Op queuing, buffer and cache management (llama/21705) 2026-04-30 11:29:06 +03:00
unary-ops.c hexagon: activation ops update (llama/25974) 2026-07-30 16:31:47 +03:00
unary-ops.h hexagon: activation ops update (llama/25974) 2026-07-30 16:31:47 +03:00
work-queue.c hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00
work-queue.h hexagon: L2 cache handling rework (dirty bit tracking with lazy flushing) and more MUL_MAT updates (llama/25762) 2026-07-30 16:31:43 +03:00