-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][Fusion] Scheduler support for kernel fusion #7531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Tests for this PR are in intel/llvm-test-suite#1416 |
/verify with intel/llvm-test-suite#1416 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good, but since it touches the graph-builder and scheduler I would like @sergey-semenov's eyes on it too.
2af8527
to
b589343
Compare
@sergey-semenov, ping. |
4c5095e
to
e271e60
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry about the late review. Could you add some unit tests to cover the new functionality?
1e63bdb
to
793b19b
Compare
@sergey-semenov Thank you very much for your review and feedback! I've addressed it in the latest commit.
I have now added a unit-test (as part of the The scheduler integration is also tested by a number of application tests in intel/llvm-test-suite#1416. |
704bab3
to
e0430cd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@sommerlukas, please fix conflicts |
Signed-off-by: Lukas Sommer <[email protected]>
Signed-off-by: Lukas Sommer <[email protected]>
Signed-off-by: Lukas Sommer <[email protected]>
e0430cd
to
5bdbb12
Compare
Sorry for the delay, I needed to wait for #7794 and #7798 to be merged, because without those, tests were failing locally for me. The rebase is done now. @pvchupin, @steffenlarsen or @intel/llvm-gatekeepers can you please merge this now? |
Test integration of kernel fusion into the SYCL runtime scheduler. Check that cancellation of the fusion happens if required by synchronization rules, as described in the [extension proposal](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_codeplay_kernel_fusion.asciidoc#synchronization-in-the-sycl-application). Spec: intel/llvm#7098 Implementation: intel/llvm#7531 Signed-off-by: Lukas Sommer <[email protected]>
Test integration of kernel fusion into the SYCL runtime scheduler. Check that cancellation of the fusion happens if required by synchronization rules, as described in the [extension proposal](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_codeplay_kernel_fusion.asciidoc#synchronization-in-the-sycl-application). Spec: intel#7098 Implementation: intel#7531 Signed-off-by: Lukas Sommer <[email protected]>
…te#1416) Test integration of kernel fusion into the SYCL runtime scheduler. Check that cancellation of the fusion happens if required by synchronization rules, as described in the [extension proposal](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_codeplay_kernel_fusion.asciidoc#synchronization-in-the-sycl-application). Spec: intel#7098 Implementation: intel#7531 Signed-off-by: Lukas Sommer <[email protected]>
This is the third patch in a series of patches to add an implementation of the kernel fusion extension. We have split the implementation into multiple patches to make them more easy to review. This patch integrates the kernel fusion extension into the SYCL runtime scheduler.
Next to collecting the kernels submitted while in fusion mode in the fusion list associated with the queue, the integration into the scheduler is also responsible for detecting the synchronization scenarios. Various scenarios, such as buffer destruction or event wait, require fusion to be aborted early. The full list of scenarios is available in the extension proposal.
A high-level description of the integration into the scheduler can be found in the design document.
This PR can be reviewed and merged independently of #7465.
Signed-off-by: Lukas Sommer [email protected]