SWDEV-470612 - Add the optimized multistream path
- Added the optimized multi stream path in graph execution. It uses a fixed number of async streams in the execution
- Optimize the launch latency, where commands
creation and execution is done at the same time
- Optimize the scheduling to use less barriers and waiting signals if
the same queue can be detected
- The new path is controlled by DEBUG_HIP_FORCE_GRAPH_QUEUES
environment variable, where 0 will use the original path and any other
value will force the number of asynchronous queues for execution
- DEBUG_HIP_FORCE_ASYNC_QUEUE can force single queue async
execution in graphs(applicable for Navi families only)
Change-Id: I7eb40bc15c45f508d6911868a6f6d4c3598d380e
[ROCm/clr commit: 9db52f9a46]
Αυτή η υποβολή περιλαμβάνεται σε:
1 γονέας
31927fefd6
υποβολή
35c7a87014
6 files changed
+367
-35
No files matched your search
@@ -1306,6 +1306,9 @@ hipError_t ihipGraphInstantiate(hip::GraphExec** pGraphExec, hip::Graph* graph,
|
||||
std::vector<std::vector<hip::GraphNode*>> parallelLists;
|
||||
std::unordered_map<hip::GraphNode*, std::vector<hip::GraphNode*>> nodeWaitLists;
|
||||
clonedGraph->GetRunList(parallelLists, nodeWaitLists);
|
||||
if (DEBUG_HIP_FORCE_GRAPH_QUEUES != 0) {
|
||||
clonedGraph->ScheduleNodes();
|
||||
}
|
||||
*pGraphExec =
|
||||
new hip::GraphExec(graphNodes, parallelLists, nodeWaitLists, clonedGraph, clonedNodes,
|
||||
flags);
|
||||
|
||||
Reference in new issue
Block a user