-
sycl: fix CONV_2D wrong results for non-contiguous input (#30363)
released this
2026-10-22 03:19:58 -05:00 | 12 commits to master since this release- sycl: fix CONV_2D wrong results for non-contiguous input
The kernel indexes the
inputas a contiguous [W, H, C, N] tensor, but
supports_op claimed the op for any layout. A non-contiguous (e.g.CWHN
permuted) input was read with the wrong element offsets, silently
producing wrong results.Gate the CONV_2D op on
inputandkernelcontiguity, matching the
CUDA backend contract, and assert input contiguity in the op.test-backend-ops -b SYCL0 -o CONV_2D: goes from 16 failures to 0,
none.2006/2006 tests passed Backend SYCL0: OK Backend 2/2: CPU Skipping 2/2 backends passed OKAssisted-by: pi (unsloth/Qwen3.8-27B-GGUF:Q4_K_M via llama.cpp)
- sycl : CONV_2D cwhn=1 support
Make the SYCL backend compute
GGML_OP_CONV_2Dcorrectly forcwhn=1(CWHN
channel-order) inputs and kernels, so the previously failing test-
backend-ops CONV_2D cases pass on SYCL instead of being skipped or
miscomputed.- Implement CWHN layout support in
ggml/src/ggml-sycl/conv2d.cpp
(ggml_sycl_op_conv2d). - Update SYCL
supports_opforGGML_OP_CONV_2Din
ggml/src/ggml-sycl/ggml-sycl.cppto accept both layouts.
Assisted-by: pi (Greatjedi/Qwen3.8-27B-Intel-Arc-Tuned-GGUF via llama.cpp)
- sycl docs : update ops for SYCL
Downloads