Skip to content

[SYCL][Graph] Fix queue recording barrier to different graphs #14212

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

Merged
merged 1 commit into from
Jun 20, 2024

Conversation

EwanC
Copy link
Contributor

@EwanC EwanC commented Jun 18, 2024

Recording barrier submissions to from the same queue to a different graph current produces the following error with added regression test:

Terminate called after throwing an instance of 'sycl::_V1::exception'
  what():  Graph nodes cannot depend on events from another graph.

This is because the queue implementation doesn't clear all the state around what the last queue submission was between graph recordings.

Fixed by clearing all members of the barrier book keeping struct in the queue.

@EwanC EwanC temporarily deployed to WindowsCILock June 18, 2024 13:17 — with GitHub Actions Inactive
@EwanC EwanC temporarily deployed to WindowsCILock June 18, 2024 14:23 — with GitHub Actions Inactive
@EwanC EwanC temporarily deployed to WindowsCILock June 18, 2024 14:24 — with GitHub Actions Inactive
@EwanC EwanC marked this pull request as ready for review June 18, 2024 15:17
@EwanC EwanC requested review from a team as code owners June 18, 2024 15:17
@EwanC EwanC requested a review from bso-intel June 18, 2024 15:17
@EwanC EwanC marked this pull request as draft June 18, 2024 15:40
EwanC added a commit to reble/llvm that referenced this pull request Jun 18, 2024
In order to enable the minimum viable real life usecase
for the Whole Graph Update feature. Allow graphs to contain
empty nodes and barrier nodes during update.

Depends on PR intel#14212
EwanC added a commit to reble/llvm that referenced this pull request Jun 18, 2024
In order to enable the minimum viable real life usecase
for the Whole Graph Update feature. Allow graphs to contain
empty nodes and barrier nodes during update.

Depends on PR intel#14212
Recording barrier submissions to from the same queue to a different
graph current produces the following error with added regression tests:

```
Terminate called after throwing an instance of 'sycl::_V1::exception'
  what():  Graph nodes cannot depend on events from another graph.
```

This is because the queue implementation doesn't clear all the
state around what the last queue submission was between graph
recordings.

Fixed by clearing all members of the barrier book keeping struct
in the queue.
@EwanC EwanC force-pushed the ewan/barrier_multi_graph branch from 7b85fb2 to 9c8002d Compare June 19, 2024 09:58
@EwanC EwanC temporarily deployed to WindowsCILock June 19, 2024 09:58 — with GitHub Actions Inactive
@EwanC EwanC marked this pull request as ready for review June 19, 2024 09:58
EwanC added a commit to reble/llvm that referenced this pull request Jun 19, 2024
In order to enable the minimum viable real life usecase
for the Whole Graph Update feature. Allow graphs to contain
empty nodes and barrier nodes during update.

Depends on PR intel#14212
@EwanC EwanC temporarily deployed to WindowsCILock June 19, 2024 10:25 — with GitHub Actions Inactive
@EwanC
Copy link
Contributor Author

EwanC commented Jun 19, 2024

tagging @intel/llvm-reviewers-runtime for review (assigned reviewer status is off sick)

@EwanC
Copy link
Contributor Author

EwanC commented Jun 20, 2024

@intel/llvm-gatekeepers This is good to merge, thanks

@sommerlukas sommerlukas merged commit 82f77d1 into intel:sycl Jun 20, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants