Skip to content

Conversation

@mfrancepillois
Copy link
Collaborator

@mfrancepillois mfrancepillois commented Aug 15, 2023

The implementation uses the list of scheduled nodes to add a subgraph to a main graph.
However, since empty nodes are not scheduled, empty nodes were not listed in this list, resulting in inconsistent graphs when subgraph with empty node(s) were added to a main graph.

Edit:
This PR changes the definition of MSchedule (schedule list) as it now contains all types of nodes (including empty nodes).
Empty nodes are now filtered out when creating the commandbuffer and/or enqueuing nodes to only keep their dependencies.
This PR updates a few unitests to make them compliant to the new schedule list definition

The implementation uses the list of scheduled nodes to add a subgraph to a main graph.
However, since empty nodes are not scheduled, empty nodes were not listed in this list, resulting in inconsistent graphs when subgraph with empty node(s) were added to a main graph.
This PR fixes this issue by forcing to list empty nodes when creating the list for inserting subgraph.
It also adds unitests to check that subgraphs with empty nodes are correctly added to a main graph.
@mfrancepillois mfrancepillois added Graph Implementation Related to DPC++ implementation and testing cherry-pick labels Aug 15, 2023
Changes the definition of MSchedule as it now contains all types of nodes (including empty nodes).
Empty nodes are now filtered out when creating the commandbuffer and/or enqueuing nodes to only keep their dependencies.
This PR updates a few unitests to make them compliant to the new schedule list definition.
@mfrancepillois mfrancepillois requested a review from EwanC August 16, 2023 11:00
Copy link
Owner

@reble reble left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@EwanC EwanC merged commit 5318388 into sycl-graph-develop Aug 16, 2023
EwanC pushed a commit that referenced this pull request Aug 16, 2023
* [SYCL][Graph] Enable empty nodes in Subgraphs

The implementation uses the list of scheduled nodes to add a subgraph to a main graph.
However, since empty nodes are not scheduled, empty nodes were not listed in this list, resulting in inconsistent graphs when subgraph with empty node(s) were added to a main graph.
This PR fixes this issue by forcing to list empty nodes when creating the list for inserting subgraph.
It also adds unitests to check that subgraphs with empty nodes are correctly added to a main graph.

* [SYCL][Graph] Enable empty nodes in Subgraphs

Changes the definition of MSchedule as it now contains all types of nodes (including empty nodes).
Empty nodes are now filtered out when creating the commandbuffer and/or enqueuing nodes to only keep their dependencies.
This PR updates a few unitests to make them compliant to the new schedule list definition.

* Update sycl/source/detail/graph_impl.cpp

Co-authored-by: Ben Tracy <[email protected]>

---------

Co-authored-by: Ben Tracy <[email protected]>
@mfrancepillois mfrancepillois deleted the maxime/subgraph_empty_nodes_bugfix branch October 27, 2023 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick Graph Implementation Related to DPC++ implementation and testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants