github ggml-org/llama.cpp b11815

pre-release2 hours ago
Details

sycl: fix CONV_2D wrong results for non-contiguous input (#30363)

  • sycl: fix CONV_2D wrong results for non-contiguous input

The kernel indexes the input as 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 input and kernel contiguity, 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
OK

Assisted-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_2D correctly for cwhn=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_op for GGML_OP_CONV_2D in
    ggml/src/ggml-sycl/ggml-sycl.cpp to accept both layouts.

Assisted-by: pi (Greatjedi/Qwen3.8-27B-Intel-Arc-Tuned-GGUF via llama.cpp)

  • sycl docs : update ops for SYCL

Website:

Attestations:

macOS/iOS:

Linux:

Android:

Windows:

openEuler:

  • DISABLED
  • openEuler x86 (310p)
  • openEuler x86 (910b, ACL Graph)
  • openEuler aarch64 (310p)
  • openEuler aarch64 (910b, ACL Graph)

UI:

Don't miss a new llama.cpp release

NewReleases is sending notifications on new releases.