Velocity-Bench icon indicating copy to clipboard operation
Velocity-Bench copied to clipboard

[svm][SYCL] In-order queue and native commands

Open rafbiels opened this issue 7 months ago • 0 comments

Improve SYCL performance on CUDA and HIP backends with the two changes below. There is no functional change for Intel backends.

1. Add CMake option to use in-order queue

Add the queue properties in_order and, if available, discard_events. The addition is steered by a CMake build option IN_ORDER_QUEUE. Set the default value to ON for NVIDIA and AMD backends and keep as OFF for other backends. The in-order queue corresponds more directly to how the CUDA/HIP variants of the benchmark are written since they use the default stream.

2. Use extensions to submit native commands when available

Use the wrapper functions from <top-dir>/infrastructure/SYCL.h (added in #95) to call either host_task or native command extensions when available. This improves performance with CUDA and HIP backends.

Delete local copies of the SYCL.(h|cpp) files which were not used in the benchmark and clashed with the one used in this PR.

rafbiels avatar May 21 '25 16:05 rafbiels