Skip to content

Commit 42cafa5

Browse files
kboyarinovvossmjpaleksei-fedotovakukanov
authored
Extended Semantics RFC for task_group dynamic dependencies (#1664)
Co-authored-by: Michael Voss <[email protected]> Co-authored-by: Aleksei Fedotov <[email protected]> Co-authored-by: Alexey Kukanov <[email protected]>
1 parent 45726ad commit 42cafa5

38 files changed

+1618
-4
lines changed

rfcs/proposed/task_group_dynamic_dependencies/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ work's state.
157157
We therefore think predecessors may be in any state when they are added,
158158
as shown below:
159159

160-
<img src="add_dependency.png" width=400>
160+
<img src="assets/add_dependency.png" width=400>
161161

162162
There are a number of possible options to spell a function for adding
163163
a single predecessor. Additionally, we may also want a function to allow
@@ -209,7 +209,7 @@ subsequent recursively generated tasks) must be able to create new tasks
209209
and then update the graph for their outer merge task to wait for the
210210
newly created subtasks to complete.
211211

212-
<img src="merge_sort.png" width=800>
212+
<img src="assets/merge_sort.png" width=800>
213213

214214
A key point of this recursive parallel algorithm is the requirement to change
215215
the predecessors of the merge tasks. However, the merge tasks are already
@@ -260,7 +260,7 @@ to complete.
260260

261261
The dependency graph for this example is:
262262

263-
<img src="three_task_graph.png" width=400>
263+
<img src="assets/three_task_graph.png" width=400>
264264

265265
#### Predecessors in Unknown States
266266

@@ -290,7 +290,7 @@ regardless of state of the task it represents. Any predecessor that is already
290290
completed when it is added as a predecessor will not delay the start of the dependent
291291
task.
292292

293-
<img src="unknown_states.png" width=400>
293+
<img src="assets/unknown_states.png" width=400>
294294

295295
#### Recursive Decomposition
296296

@@ -343,6 +343,10 @@ into the following helper functions: `users::do_serial_sort`, `users::create_lef
343343

344344
This task tree matches the one shown earlier for merge-sort.
345345

346+
## Extended semantics proposal
347+
348+
The detailed proposal for the API and semantics of `task_group` extensions is presented in the [API and Semantics Details sub-RFC](extended_semantics.md).
349+
346350
## Open Questions in Design
347351

348352
Questions that should be addressed before moving into `experimental` and providing a preview feature:
26.1 KB
Loading
5.41 KB
Loading
35.9 KB
Loading
10.1 KB
Loading
21.5 KB
Loading
25.7 KB
Loading
25 KB
Loading

0 commit comments

Comments
 (0)