whisper.cpp/ggml/src/ggml-sycl
lnigam b7ea8b19bf ggml : recurrent state rollback for ggml_ssm_scan (llama/26623)
* Initial changes for Recurrent state rollback for nemotron for cpu and cuda

* Removing CPU RS rollback. Will enable it in subsequent PRs

* addition of test case

* Removing assert and calling runtime API to check if op is supported

* removing extra API and updating the call sites for K

* replace static cuda detection to runtime fused_op api

* address review comments and fallback when SSM rollback not supprted

* Adding changes for supporting RS-rollback in CPU. Also added test-backend-ops for cpu and cuda

* removing memory manipulation as rs rollback is now supported in CPU

* removing the static probe which is not needed now

* correcting the format

* address review comments

* enabling test for all the backends, unsupported backends will fallback to CPU

* Apply suggestions from code review

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* choose different graph based on the result of fused_ssm_op is supported or not and also handled memory->n_rs_seq >1 case incase of op is not supported

* Support K > 1 in ssm_scan for all backends

* Fix CI Issues

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Co-authored-by: Gaurav Garg <gaugarg@nvidia.com>
2026-08-14 22:16:06 +03:00
..
dpct add dev2dev memcpy by SYCL API (llama/24476) 2026-06-19 12:53:43 +03:00
template-instances sycl : add flash-attn support for head size 512 (llama/21654) 2026-04-30 11:29:04 +03:00
CMakeLists.txt sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
add-id.cpp sycl : fix wrong variable check by assert (llama/20903) 2026-03-29 15:04:36 +03:00
add-id.hpp Support gpt-oss by OPs add-id, mul_mat for mxfp4, swiglu_oai (llama/17826) 2025-12-18 08:20:56 +02:00
backend.hpp sycl: fuse RMS_NORM + MUL (llama/26015) 2026-08-04 13:37:47 +03:00
binbcast.cpp support bf16 on bin_bcast OP and unary OPs (llama/24838) 2026-06-26 16:03:57 +03:00
binbcast.hpp fix UT fault cases: count-equal, argsort, pad OPs (llama/16521) 2025-10-15 09:29:17 +03:00
col2im-1d.cpp support op col2im_1d (llama/25264) 2026-07-10 13:06:42 +03:00
col2im-1d.hpp support op col2im_1d (llama/25264) 2026-07-10 13:06:42 +03:00
common.cpp rename GGML_SYCL_SUPPORT_LEVEL_ZERO (llama/24719) 2026-06-19 12:53:43 +03:00
common.hpp sycl : Add DMMV ESIMD Q3_K kernel (llama/26251) 2026-08-14 22:16:06 +03:00
concat.cpp sycl : enhance concat to support Q4_0, Q4_1, Q5_0, Q5_1, Q8_0 (llama/26800) 2026-08-14 22:16:06 +03:00
concat.hpp SYCL: Refactor ggml_sycl_compute_forward (llama/11121) 2025-01-14 10:38:01 +02:00
conv.cpp Revert "sycl: add usage of enqueue_functions extension (llama/14244)" (llama/15910) 2025-09-20 13:45:28 +03:00
conv.hpp SYCL: Refactor ggml_sycl_compute_forward (llama/11121) 2025-01-14 10:38:01 +02:00
conv2d-dw.cpp sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
conv2d-dw.hpp support OPs: conv_2d, conv_2d_dw, conv2d_transpose (llama/24600) 2026-06-19 12:53:43 +03:00
conv2d-transpose.cpp support OPs: conv_2d, conv_2d_dw, conv2d_transpose (llama/24600) 2026-06-19 12:53:43 +03:00
conv2d-transpose.hpp support OPs: conv_2d, conv_2d_dw, conv2d_transpose (llama/24600) 2026-06-19 12:53:43 +03:00
conv2d.cpp support OPs: conv_2d, conv_2d_dw, conv2d_transpose (llama/24600) 2026-06-19 12:53:43 +03:00
conv2d.hpp support OPs: conv_2d, conv_2d_dw, conv2d_transpose (llama/24600) 2026-06-19 12:53:43 +03:00
conv3d.cpp sycl : fix the failed UT cases of conv_3d (llama/24900) 2026-06-26 16:03:57 +03:00
conv3d.hpp Add conv_3d (llama/24691) 2026-06-19 12:53:43 +03:00
convert.cpp Support q2 mul_mat (llama/26231) 2026-08-04 13:37:47 +03:00
convert.hpp sycl: Improve mul_mat_id memory efficiency and add BF16 fast path (llama/22119) 2026-04-30 11:29:16 +03:00
count-equal.cpp supprt Flash Attention for fp32/fp16/Q4/Q5/Q8 (llama/20190) 2026-03-16 13:10:15 +02:00
count-equal.hpp fix UT fault cases: count-equal, argsort, pad OPs (llama/16521) 2025-10-15 09:29:17 +03:00
cpy.cpp support the missed types in cpy (llama/26005) 2026-08-04 13:37:47 +03:00
cpy.hpp support the missed types in cpy (llama/26005) 2026-08-04 13:37:47 +03:00
cross_entropy_loss.cpp support OP cross_entropy_loss, cross_entropy_loss_back (llama/25236) 2026-07-10 13:06:42 +03:00
cross_entropy_loss.hpp support OP cross_entropy_loss, cross_entropy_loss_back (llama/25236) 2026-07-10 13:06:42 +03:00
cumsum.cpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
cumsum.hpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
dequantize.hpp Support q2 mul_mat (llama/26231) 2026-08-04 13:37:47 +03:00
diag.cpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
diag.hpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
dmmv.cpp sycl : Add DMMV ESIMD Q3_K kernel (llama/26251) 2026-08-14 22:16:06 +03:00
dmmv.hpp whisper : reorganize source code + improve CMake (#2256) 2024-06-26 19:34:09 +03:00
dsv4-hc.cpp sycl : Support DSv4 OPs: LIGHTNING_INDEXER,DSV4_HC_COMB,DSV4_HC_POST,DSV4_HC_PRE (llama/26568) 2026-08-07 21:59:49 +03:00
dsv4-hc.hpp sycl : Support DSv4 OPs: LIGHTNING_INDEXER,DSV4_HC_COMB,DSV4_HC_POST,DSV4_HC_PRE (llama/26568) 2026-08-07 21:59:49 +03:00
element_wise.cpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
element_wise.hpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
esimd.hpp sycl : Add DMMV ESIMD Q3_K kernel (llama/26251) 2026-08-14 22:16:06 +03:00
fattn-buffers.cpp SYCL: reduce allocation overhead during flash attention (llama/22732) 2026-05-14 21:26:48 +03:00
fattn-buffers.hpp SYCL: reduce allocation overhead during flash attention (llama/22732) 2026-05-14 21:26:48 +03:00
fattn-common.hpp Support Q4_1, Q5_0, Q5_1 in Flash-attention (llama/23812) 2026-06-08 14:36:36 +03:00
fattn-mkl.cpp SYCL: add oneMKL GEMM flash attention for XMX-accelerated prompt proc… (#25025) 2026-08-04 13:37:47 +03:00
fattn-onednn.cpp Extended SYCL oneDNN SDPA to non-FP16 KV caches (Q4_0–Q8_0 and FP32) (#25874) 2026-08-04 13:37:47 +03:00
fattn-onednn.hpp sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
fattn-tile.cpp sycl : add flash-attn support for head size 512 (llama/21654) 2026-04-30 11:29:04 +03:00
fattn-tile.hpp sycl : add flash-attn support for head size 512 (llama/21654) 2026-04-30 11:29:04 +03:00
fattn-vec.hpp sycl : fix error Error OP FLASH_ATTN_EXT on arc770 (llama/26441) 2026-08-07 21:59:49 +03:00
fattn.cpp Extended SYCL oneDNN SDPA to non-FP16 KV caches (Q4_0–Q8_0 and FP32) (#25874) 2026-08-04 13:37:47 +03:00
fattn.hpp SYCL: add oneMKL GEMM flash attention for XMX-accelerated prompt proc… (#25025) 2026-08-04 13:37:47 +03:00
fill.cpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
fill.hpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
fusion.cpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
fusion.hpp sycl: fuse UNARY(silu|sigmoid|softplus) + MUL (llama/26411) 2026-08-14 22:16:06 +03:00
gated_delta_net.cpp sycl: fuse the gated-delta-net state writeback cpy (llama/26643) 2026-08-14 22:16:06 +03:00
gated_delta_net.hpp sycl: fuse the gated-delta-net state writeback cpy (llama/26643) 2026-08-14 22:16:06 +03:00
gemm.hpp sycl: Improve mul_mat_id memory efficiency and add BF16 fast path (llama/22119) 2026-04-30 11:29:16 +03:00
getrows.cpp sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
getrows.hpp SYCL: Remove misleading ggml_sycl_op_flatten function (llama/12387) 2025-03-31 14:56:53 +03:00
ggml-sycl.cpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
gla.cpp Revert "sycl: add usage of enqueue_functions extension (llama/14244)" (llama/15910) 2025-09-20 13:45:28 +03:00
gla.hpp SYCL: Add gated linear attention kernel (llama/11175) 2025-02-03 22:00:57 +02:00
im2col.cpp Add OP im2col_3d (llama/22903) 2026-05-14 21:26:48 +03:00
im2col.hpp Add OP im2col_3d (llama/22903) 2026-05-14 21:26:48 +03:00
lightning-indexer.cpp sycl : Support DSv4 OPs: LIGHTNING_INDEXER,DSV4_HC_COMB,DSV4_HC_POST,DSV4_HC_PRE (llama/26568) 2026-08-07 21:59:49 +03:00
lightning-indexer.hpp sycl : Support DSv4 OPs: LIGHTNING_INDEXER,DSV4_HC_COMB,DSV4_HC_POST,DSV4_HC_PRE (llama/26568) 2026-08-07 21:59:49 +03:00
mmq.cpp Revert "sycl: add usage of enqueue_functions extension (llama/14244)" (llama/15910) 2025-09-20 13:45:28 +03:00
mmq.hpp whisper : reorganize source code + improve CMake (#2256) 2024-06-26 19:34:09 +03:00
mmvq.cpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
mmvq.hpp sycl: fuse mul_mat(gate) + mul_mat(up) + GLU for q4_K dense FFN (llama/26779) 2026-08-14 22:16:06 +03:00
norm.cpp sycl: fuse RMS_NORM + MUL (llama/26015) 2026-08-04 13:37:47 +03:00
norm.hpp sycl: fuse RMS_NORM + MUL (llama/26015) 2026-08-04 13:37:47 +03:00
outprod.cpp sycl : support MUL_MAT and OUT_PROD with Q1_0 (llama/24721) 2026-06-19 12:53:43 +03:00
outprod.hpp SYCL: Refactor ggml_sycl_compute_forward (llama/11121) 2025-01-14 10:38:01 +02:00
pad.cpp sycl: support non-contiguous input in PAD op (llama/22148) 2026-05-14 21:26:48 +03:00
pad.hpp fix UT fault cases: count-equal, argsort, pad OPs (llama/16521) 2025-10-15 09:29:17 +03:00
pad_reflect_1d.cpp refactor pad_reflect_1d to make the UT case pass (llama/17204) 2025-12-12 17:53:10 +02:00
pad_reflect_1d.hpp refactor pad_reflect_1d to make the UT case pass (llama/17204) 2025-12-12 17:53:10 +02:00
pool.cpp add to support pool_1d, move pool_1d/2d code to pool.cpp/hpp (llama/24584) 2026-06-19 12:53:43 +03:00
pool.hpp add to support pool_1d, move pool_1d/2d code to pool.cpp/hpp (llama/24584) 2026-06-19 12:53:43 +03:00
presets.hpp sycl: *glu flat path (llama/26354) 2026-08-07 21:59:49 +03:00
quantize.hpp sycl: refactor quantization to q8_1 (llama/14815) 2025-08-18 20:30:45 +03:00
quants.hpp sycl : Optimize Q3_K mul_mat by reorder (llama/23725) 2026-06-08 14:36:36 +03:00
repeat_back.cpp SYCL: optimized repeat_back kernel (3× fewer asm instructions, 2× faster)Feature/sycl repeat back opt (#16869) 2025-11-09 23:38:03 +02:00
repeat_back.hpp sycl: add REPEAT_BACK operation support (llama/16734) 2025-11-09 23:38:03 +02:00
roll.cpp sycl: add ROLL operation support (llama/16665) 2025-11-09 23:38:03 +02:00
roll.hpp sycl: add ROLL operation support (llama/16665) 2025-11-09 23:38:03 +02:00
rope.cpp fix op rope, add rope_back (llama/20293) 2026-03-16 13:10:15 +02:00
rope.hpp fix op rope, add rope_back (llama/20293) 2026-03-16 13:10:15 +02:00
set.cpp SYCL SET operator optimized for F32 tensors (llama/16350) 2025-10-22 12:58:11 +03:00
set.hpp SYCL SET operator optimized for F32 tensors (llama/16350) 2025-10-22 12:58:11 +03:00
set_rows.cpp sycl : enhance OP set_rows to support all missed data types (llama/26515) 2026-08-07 21:59:49 +03:00
set_rows.hpp SYCL: Initial set_rows kernel implementation (llama/14562) 2025-07-12 19:23:56 +03:00
softmax.cpp sycl : clamp softmax input to avoid underflow (llama/24941) 2026-06-26 16:03:57 +03:00
softmax.hpp refactor soft_max, add soft_max_back (llama/16472) 2025-10-12 11:16:23 +03:00
solve_tri.cpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
solve_tri.hpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
ssm_conv.cpp sycl: coalesce the ssm_conv window loads (llama/26612) 2026-08-14 22:16:06 +03:00
ssm_conv.hpp sycl: add SSM_CONV operation support (llama/16800) 2025-11-09 23:38:03 +02:00
ssm_scan.cpp ggml : recurrent state rollback for ggml_ssm_scan (llama/26623) 2026-08-14 22:16:06 +03:00
ssm_scan.hpp sycl: add FILL, CUMSUM, DIAG, SOLVE_TRI, SSM_SCAN, GATED_DELTA_NET (llama/22149) 2026-05-14 21:26:48 +03:00
sycl_hw.cpp Optimize Q4_0 mul_mat for Arc770, add scripts (llama/22291) 2026-04-30 11:29:19 +03:00
sycl_hw.hpp Optimize Q4_0 mul_mat for Arc770, add scripts (llama/22291) 2026-04-30 11:29:19 +03:00
topk-moe.cpp sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
topk-moe.hpp sync : ggml (#3962) 2026-07-31 09:11:28 +02:00
tsembd.cpp ggml : fix padding in timestep embedding kernels (llama/15932) 2025-09-20 13:45:30 +03:00
tsembd.hpp SYCL: Refactor ggml_sycl_compute_forward (llama/11121) 2025-01-14 10:38:01 +02:00
type.hpp sycl : support nvfp4 type in mul_mat (llama/21227) 2026-04-30 11:28:59 +03:00
upscale.cpp sycl: disable Q1_0 in backend and cleanup unused variables (llama/21807) 2026-04-30 11:29:07 +03:00
upscale.hpp ehance UPSCALE to support all UT cases (llama/20637) 2026-03-29 15:04:36 +03:00
vecdotq.hpp Support q2 mul_mat (llama/26231) 2026-08-04 13:37:47 +03:00
wkv.cpp Remove support for Nvidia & AMD GPU, because the oneAPI plugin for Nvidia & AMD GPU is unavailable: download/installation channels are out of work. (llama/19246) 2026-02-08 09:29:10 +02:00
wkv.hpp llama: Add support for RWKV v7 architecture (llama/12412) 2025-03-27 11:06:03 +02:00