Application programming interface to indicate null-operation dependencies
Apparatuses, systems, and techniques to perform an application programming interface (API) to add one or more graph nodes to a software graph, wherein the API is to cause a null-operation graph node to be added to a software graph, based, at least in part, on a dependency type indicated by the API. In at least one embodiment, one or more nodes are added to a graph in accordance to one or more dependency types.
1 . A processor, comprising:
one or more circuits to, in response to an application programming interface (API) call comprising an input parameter indicating a null-operation graph node that is to be added to a software graph that indicates two or more processor-performable operations and dependencies among the two or more processor-performable operations,
cause the null-operation graph node to be added to the software graph, based, at least in part, on an input to the API call indicating a dependency type, the dependency type indicating one or more constraints on scheduling a first operation corresponding to an execution of the null-operation graph node and a second operation corresponding to an execution of a second graph node.
2 . The processor of claim 1 , wherein the one or more circuits are to, in response to the API call, cause the null-operation graph node to be added to the software graph, based, at least in part, on the dependency type, and one or more edges of the software graph, the one or more edges to or from the null-operation graph node.
3 . The processor of claim 1 , wherein the execution of the null-operation graph node is to cause no operation to be performed.
4 . The processor of claim 1 , wherein the one or more circuits are to cause the null-operation graph node to be added to the software graph by identifying one or more graph nodes of the software graph dependent to or dependent on the null-operation graph node.
5 . The processor of claim 1 , wherein the dependency type includes one or more of a full execution dependency, a launch order dependency, or an anti-deadlock dependency.
6 . The processor of claim 1 , wherein the null-operation graph node is to be performed by one or more graphics processing units (GPUs) based, at least in part, on the dependency type.
7 . The processor of claim 1 , wherein the API call is to receive a set of parameters comprising an identifier of the null-operation graph node and dependency information corresponding to the dependency type.
8 . A computer-implemented method comprising:
receiving an application programming interface (API) call comprising an input parameter that indicates a null-operation graph node of a software graph that indicates two or more processor-performable operations and dependencies among the two or more processor-performable operations; and
in response to the API call, adding the null-operation graph node to the software graph, wherein the software graph is caused to have one or more dependencies between the null-operation graph node and one or more second graph nodes, having a dependency type of a plurality of dependency types, indicating how an operation associated with the one or more second graph nodes is to be performed in relation to a performance of an operation associated with the null-operation graph node.
9 . The computer-implemented method of claim 8 , wherein the API is to cause the null-operation graph node to be added to the software graph, based, at least in part, on the dependency type, one or more edges of the software graph, the one or more edges to or from the null-operation graph node.
10 . The computer-implemented method of claim 8 , wherein the API is to further indicate a port identifier of a node associated with the null-operation graph node.
11 . The computer-implemented method of claim 8 , wherein the dependency type includes one or more of a full execution dependency, a launch order dependency, or an anti-deadlock dependency.
12 . The computer-implemented method of claim 8 , wherein the null-operation graph node is to be performed by one or more graphics processing units (GPUs) based, at least in part, on the dependency type.
13 . The computer-implemented method of claim 8 , wherein the API is to receive a set of parameters comprising an identifier of the null-operation graph node and dependency information corresponding to the dependency type.
14 . The computer-implemented method of claim 8 , wherein the API is to cause the null-operation graph node to be added to the software graph by identifying one or more graph nodes of the software graph dependent to or dependent on the null-operation graph node.
15 . A computer system comprising:
one or more processors and memory storing executable instructions that, if performed by the one or more processors, are to, in response to an application programming interface (API) call comprising an input parameter indicating a null-operation graph node that is to be added to a software graph that indicates two or more processor-performable operations and dependencies among the two or more processor-performable operations,
cause the null-operation graph node to be added to the software graph, based, at least in part, on an input to the API call indicating a dependency type, the dependency type indicating one or more constraints on scheduling a first operation corresponding to an execution of the null-operation graph node and a second operation corresponding to an execution of a second graph node.
16 . The computer system of claim 15 , wherein the one or more processors are to, in response to the API call, cause the null-operation graph node to be added to the software graph, based, at least in part, on the dependency type, one or more edges of the software graph, the one or more edges to or from the null-operation graph node.
17 . The computer system of claim 15 , wherein the one or more processors are to further indicate a port identifier of a node associated with the null-operation graph node.
18 . The computer system of claim 15 , wherein the one or more processors are to cause the null-operation graph node to be added to the software graph by identifying one or more graph nodes of the software graph dependent to or dependent on the null-operation graph node.
19 . The computer system of claim 15 , wherein the dependency type includes one or more of a full execution dependency, a launch order dependency, or an anti-deadlock dependency.
20 . The computer system of claim 15 , wherein the API call is to receive a set of parameters comprising an identifier of the null-operation graph node and dependency information corresponding to the dependency type.