FLAMEGPU / FLAMEGPU2

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

CUDA 12.3+ CUDA Graphs #1129

Open ptheywood opened 8 months ago

ptheywood commented 8 months 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.