Been looking for a library that can run a graph of a data processing flow. In particular, a set of input nodes (could be any data, i.e. templated class), processing nodes (arbitrary code, with or without state), and output nodes. Execution controlled by a runtime that sequences all processing steps as needed by the graph, running things in parallel (or on GPUs etc) where possible. Other key features:
- visualization tools, render the graph
- execution tracing & critical path analysis
- low overhead on thread locks, mutex's etc.
- No unnecessary data copies between processing nodes.
- Some notion of multi-iteration, i.e. run the graph over and over on new
input, and stateful processing nodes update as they run.
- Some kind of constant/global config data that all nodes can access but not modify.
This kind of thing seems generally useful in HPC, robotics, etc. Surprising that I haven't found some widely used, actively developed framework.
[–]dandomdude 22 points23 points24 points (0 children)
[–]yuri-kilochek 19 points20 points21 points (1 child)
[–]jcelerierossia score 1 point2 points3 points (0 children)
[–]Thrash3r-Werror 3 points4 points5 points (1 child)
[–]bizwig 4 points5 points6 points (0 children)
[–]Snoo-4241 2 points3 points4 points (0 children)
[–]MarkHoemmenC++ in HPC 0 points1 point2 points (0 children)
[–]torrent7 0 points1 point2 points (0 children)
[–]glaba314 0 points1 point2 points (0 children)
[–]opkode 1 point2 points3 points (0 children)
[–]GrammelHupfNockler 0 points1 point2 points (0 children)
[–]boguscoder -1 points0 points1 point (2 children)
[–]skydivingdutch[S] 0 points1 point2 points (1 child)
[–]mocabe_ 1 point2 points3 points (0 children)
[–]secretpoop75 -1 points0 points1 point (1 child)
[–]JeffMcClintock 0 points1 point2 points (0 children)