-
Notifications
You must be signed in to change notification settings - Fork 3
Unify with Codeplay Graph extension. #4
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
Unify with Codeplay Graph extension. #4
Conversation
Merge [SYCL_EXT_CODEPLAY_GRAPHS](codeplaysoftware/standards-proposals#135) into SYCL_EXT_ONEAPI_GRAPH. This is a first cut at merging and follow-up changes to reconcile some differences will likely need to be made, either as commits to this branch before merging, or as subsequent PRs.
Makes the context accepted by the command_graph::finalize() method const, consistent with most other usages in the SYCL spec.
Remove the requirement for the graphs extension to support a graph constructed using a device queue being executed on another compatible queue. This may not be possible in the DPC++ prototype based on lazy queues.
reble
left a comment
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.
First set of comments ...
Co-authored-by: Pablo Reble <[email protected]>
Break the graph terminology section down into a generic description of a graph, nodes, and edges. Followed by subsections for how that is realized in the explicit API and record & replay API individually.
Add wording on whether a user can combine the explicit graph building API with the record & replay API on the same modifiable graph object. It is specified as being allowed for the user to mix mechanisms, so long as the two mechanisms are used sequentially. However, it is forbidden if the mechanisms are interleaved and an exception must be thrown by the implementation. We decided this because it is not specified in the record & replay API whether commands are added to the graph eagerly during recording, or on `queue::end_recording`. When each mechanism is used sequentially however, the ordering of nodes being added is well defined. See Issue #11
Bensuo
left a comment
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 just a few minor comments.
* Move `make_edge` from a free function to a member of `command_graph<modifiable>`. * Remove USM limitation from spec wording, as it was an implementation detail.
* Abbreviate wording on record & replay edges around USM pointers, and add restriction that offsets into system allocations are not supported. * Fix typo
julianmi
left a comment
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. I have added minor comments.
* Make the use of preconditions and namespaces on the definitions of new functions consistent * Add diagram for topology of dotp example * Tweak language
Merge SYCL_EXT_CODEPLAY_GRAPHS into SYCL_EXT_ONEAPI_GRAPH.
This is a first cut at merging and follow-up changes to reconcile some differences will likely need to be made, either as commits to this branch before merging, or as subsequent PRs.