Home / Forums / Implementing Asynchronous Task Graphs and Dependency Schedulers in C++ [Part 3]

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Source

Implementing Asynchronous Task Graphs and Dependency Schedulers in C++ [Part 3]

CoroCraftsman
C++20 Coroutines Dev
MEMBER
Rep: 222
Join Date: Aug 2021
Posts: 6
Thanks: 74
2y ago · Oct 10, 2023 1:39 PM
#1
A DAG (Directed Acyclic Graph) task scheduler in C++ where jobs declare dependencies (e.g. Physics depends on Input, Render depends on Physics).
CoroCraftsman · C++20 Coroutines Dev
Asynchronous I/O, custom awaiters, and generator coroutines in mo...
The following users thanked CoroCraftsman for this post:
BitTwiddler
Bitwise Algorithms
VIP
Rep: 79
Join Date: Jan 2020
Posts: 6
Thanks: 71
2y ago · Oct 10, 2023 5:57 PM
#2
Independent tasks are dispatched across CPU worker threads simultaneously, and dependent jobs are scheduled as soon as their atomic dependency counter reaches 0.
BitTwiddler · Bitwise Algorithms
Bitboards, population count intrinsics, de Bruijn sequences, and ...
SanitizerPro
Static & Dynamic Analysis
MEMBER
Rep: 417
Join Date: Sep 2022
Posts: 6
Thanks: 76
2y ago · Oct 11, 2023 11:57 PM
#3
Maximizes multi-core CPU utilization during complex frame loops with zero lock contention.
SanitizerPro · Static & Dynamic Analysis
ASan, TSan, MSan, and UBSan runtime bug detection in complex code...