-
Notifications
You must be signed in to change notification settings - Fork 744
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
[SYCL][Graph] Add support for fill and memset nodes in graphs #11472
Conversation
Bensuo
commented
Oct 9, 2023
- Adds support for fill and memset nodes in graphs.
- Supported on Level Zero only for now.
- Adds E2E and unit tests for these new node types.
- Minor modifications due to renaming of some UR functions.
May I ask when this change and the associated UR PR are expected to be merged? |
As far as I'm aware there isn't a clear timeline for merging the associated UR PR right now unfortunately, due to the adapter move still being in progress. Since these changes involve updates to the UR specification for command buffers it may be delayed until all adapters have been moved and the |
BTW, is it the expected behavior that q.submit((sycl::handler & cgh) { cgh.memset(ptr_, 0, size_); }); does not work without this PR, but q.memset(ptr_, 0, size_); works fine in a graph on LevelZero devices with the current |
- Add support for fill/memset nodes in command graphs - Add tests for buffer fills and memset - Changes to UR Append* naming
… enqueuing commands to a command-buffer.
b9be0d9
to
f51fc35
Compare
Co-authored-by: Ewan Crawford <[email protected]>
Co-authored-by: Ewan Crawford <[email protected]>
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.
UR LGTM
Thanks for the review @aelovikov-intel, I think I've addressed all your comments if you could take another look. |
ping @intel/llvm-reviewers-cuda for review |
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.
CUDA/HIP 👍
@intel/llvm-gatekeepers Can you merge this please |
This PR broke post-commit CI due to an unused variable, I'll look into it - #12362 |
Ignore unused `Size` parameter from `memory_manager::ext_oneapi_fill_cmd_buffer`. This was introduced in PR intel#11472 and passed as `Req->MMemoryRange` from the command-group requirement but not used for calling the underlying UR function, leading to a `-Wunused-parameter` error. It may be that this is needed to support buffers of dimension greater than 1, which there are currently no graphs tests for. This will be investigated as a follow-up once post-commit CI is unblocked with this PR.
Ignore unused `Size` parameter from `memory_manager::ext_oneapi_fill_cmd_buffer`. This was introduced in PR #11472 and passed as `Req->MMemoryRange` from the command-group requirement but not used for calling the underlying UR function, leading to a `-Wunused-parameter` error. It may be that this is needed to support buffers of dimension greater than 1, which there are currently no graphs tests for. This will be investigated as a follow-up once post-commit CI is unblocked with this PR.
The merged PR intel#11472 added support for `handler::fill` and `handler::memset` nodes in a graph, while merged PR intel#11474 added support for `handler::prefetch` and `handler::mem_advise`.