FLAMEGPU / FLAMEGPU2

FLAME GPU 2 is a GPU accelerated agent based modelling framework for CUDA C++ and Python
https://flamegpu.com
MIT License
106 stars 22 forks source link

CUDA 12.3+ CUDA Graphs #1129

Open ptheywood opened 1 year ago

ptheywood commented 1 year ago

CUDA 12.3 includes additions to the CUDA graph API which should make it usable for FLAMEGPU:

CUDA Graphs:

Conditional nodes, allowing you to conditionally execute or iterate portions of the graph based on conditions evaluated on the device.

Graph edge data, allowing modified dependencies between nodes. Programmatic Dependent Launch may now be described natively in CUDA Graphs.

This would be of most benefit to models with small populations and many layers, by reducing latency costs of launching work etc. As it's 12.3+ only we can't soley rely on it however, so may not be worth the extra maintenance burden / ifdef soup.