Workshop on Asynchronous Many-Task Systems and Applications
St. Louis, MO, USA
Alan Edelman, MIT
Hatem Ltaief, KAUST
Christian Trott (SNL)
Task-Graphs are a very attractive concept to express complex algorithms, manage asynchronicity and expose available concurrency. However, very few HPC applications are written in terms of task-graphs. In this talk I will provide reflections on what I believe some of the reasons are, based on the experience gained with Kokkos adoption in the last decade. To ground the discussion, this talk will provide an overview of the Kokkos::Graph design - a Kokkos capability that despite being introduced 4 years ago, has found very little adoption. A comparison with CUDA Graphs will demonstrate design tradeoffs in this space, and help highlight adoption hurdles and correctness pitfalls that are likely an important part of the reason why task-graphs are not more widely used. Last but not least the talk will touch on how the recently approved ISO C++ 26 Execution framework (“Senders and Receivers”) can help overcome some of these adoption hurdles, and allow us to realize the promise of a task-graph based application design.