You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: compiler/circle-execution-plan/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,12 +15,12 @@ In order to record and read this data, we use `luci::CircleNodeExecutionPlan`.
15
15
### Execution plan building
16
16
17
17
In order to build "execution plan" we use `ExecutionPlanner` class.
18
-
The main method is `make_execution_plan()` which for each node finds and writes to its annotations
18
+
The main method is `make_execution_plan()` which for each node finds and writes to its annotations
19
19
"execution plan". For this purpose there are two steps:
20
20
- determining the order of execution of nodes, which is stored in `_ordered_nodes` vector.
21
21
Now for this purpose there is only one default method `get_default_execution_order_plan()` that uses `loco::postorder_traversal(const std::vector<loco::Node *> &roots)`.
22
22
In the future we can add new method and find the most suitable way to graph traversal.
23
-
23
+
24
24
- determining memory offsets for nodes from the beginning of shared memory buffer, which is stored in `_offsets`.
25
25
Now for this purpose there is one method `get_offsets_with_greedy_by_size()` that is the implementation of the "Greedy by Size" algorithm, which is described in https://arxiv.org/pdf/2001.03288.pdf article.
26
26
The main objective is to minimize the size of the allocated memory block.
0 commit comments