Skip to content

Conversation

mmichel11
Copy link

Setting GGML_SYCL_DISABLE_GRAPHS=0 to enable SYCL graphs currently crashes with most use cases because of the following unsupported operations in graph recording regions:

  • Host waits
  • SYCL malloc / free calls

The following changes are made to fix SYCL graph functionality:

  • When graphs are enabled, use the SYCL async memory extension for temp buffers which is supported with SYCL graphs.
  • For SYCL compiler versions that do not support this extension, skip graphs with the affected op.
  • Switch from USM shared to device memory as the async extension currently just supports device allocations.

I have verified functionality with commit a3132c1 of intel/llvm. For earlier compilers that do not support this extension, graphs are disabled for most cases to prevent crashes.

GGML_SYCL_DISABLE_GRAPHS=0 causes crashes because:
  - Host waits are currently unsupported in graph recording mode.
  - SYCL malloc / free calls are unsupported in graph recording mode.

The following changes are made to fix SYCL graph functionality:
  - When graphs are enabled, use the SYCL async memory extension for temp
    buffers which is supported with SYCL graphs.
  - For compiler versions that do not support this extension, skip
    graphs with the affected op.
  - Switch from USM shared to device memory as the async extension
    currently just supports device allocations.
@github-actions github-actions bot added ggml changes relating to the ggml tensor library for machine learning SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language labels Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ggml changes relating to the ggml tensor library for machine learning SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant