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.
CUDA 12.3 includes additions to the CUDA graph API which should make it usable for FLAMEGPU:
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.