You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Whole-graph update tests — Add tests for the existing Graph.update() API (cuGraphExecUpdate), which replaces an entire executable graph from a new graph definition. Refactoring: test file reorganization and breaking down of _graphdef.pyx into a submodule.
Edge mutation on GraphDef — Support adding and removing edges between nodes in a graph definition, wrapping cuGraphAddDependencies / cuGraphRemoveDependencies.
GraphBuilder interop with GraphDef — Add a method GraphBuilder.graph_def to get the explicit representation of a graph built by stream capture. This involves changing GraphBuilder to use an RAII graph handle internally so that ownership can be shared.
Node property setters (definition-level) — Add property setters to all GraphNode subclasses (KernelNode, MemsetNode, MemcpyNode, etc.) that call the corresponding cuGraph*NodeSetParams APIs to modify nodes in a graph definition.
Exec-level node updates — Enable modifying nodes in an instantiated graph using graph[node].property = new_value, so users can update kernel parameters, memset values, etc. without rebuilding the graph.
Activity
Andy-Jost commentedon Mar 31, 2026
Implementation plan for graph updates
Breaking this into five PRs:
Whole-graph update tests — Add tests for the existing
Graph.update()API (cuGraphExecUpdate), which replaces an entire executable graph from a new graph definition. Refactoring: test file reorganization and breaking down of_graphdef.pyxinto a submodule.Edge mutation on GraphDef — Support adding and removing edges between nodes in a graph definition, wrapping
cuGraphAddDependencies/cuGraphRemoveDependencies.GraphBuilder interop with GraphDef — Add a method
GraphBuilder.graph_defto get the explicit representation of a graph built by stream capture. This involves changingGraphBuilderto use an RAII graph handle internally so that ownership can be shared.Node property setters (definition-level) — Add property setters to all
GraphNodesubclasses (KernelNode,MemsetNode,MemcpyNode, etc.) that call the correspondingcuGraph*NodeSetParamsAPIs to modify nodes in a graph definition.Exec-level node updates — Enable modifying nodes in an instantiated graph using
graph[node].property = new_value, so users can update kernel parameters, memset values, etc. without rebuilding the graph.12 remaining items
cuda.core: add GraphBuilder.graph_definition property
cuda.core: add GraphBuilder.graph_definition property (#2026)
cuda.core: graph slot table for node attachment lifetimes (#2280)