Repository navigation
Closed
Enhancement
Copy link
Labels
cuda.coreEverything related to the cuda.core moduleEverything related to the cuda.core modulefeatureNew feature or requestNew feature or request
Milestone
Description
Summary
CUDA 13.1 adds stable identifiers and navigation for graphs and nodes; CUDA 13.3 adds a related
function attribute. None are exposed by cuda.core.graph today.
Motivation: correlating cuda.core graph objects with profiler/tooling output (toolsNodeId),
diagnostics and logging, keying per-node bookkeeping for the update work in #2352 / #2354, and
navigating from a node back to its owning graph.
Underlying C APIs to cover
| C API | Purpose |
|---|---|
cuGraphGetId(CUgraph, unsigned int* graphId) |
stable ID of a graph definition |
cuGraphExecGetId(CUgraphExec, unsigned int* graphId) |
stable ID of an executable graph |
cuGraphNodeGetLocalId(CUgraphNode, unsigned int* nodeId) |
node ID local to its graph |
cuGraphNodeGetToolsId(CUgraphNode, unsigned long long* toolsNodeId) |
node ID as reported by profiling/tooling interfaces |
cuGraphNodeGetContainingGraph(CUgraphNode, CUgraph*) |
navigate from node to owning graph |
CU_FUNC_ATTRIBUTE_DEVICE_NODE_UPDATE_SUPPORTED (13.3) |
per-function attribute: kernel may perform device-side node updates |
Design sketch (draft — needs design-meeting review)
Important
Starting point only, not a settled design — review in the cuda.core design meeting.
Read-only properties, no new objects:
.idon the graph-definition and executable-graph wrappers (mapping to
cuGraphGetId/cuGraphExecGetIdrespectively);.local_id,.tools_id,.containing_graphon the node wrappers incuda.core.graph;- the 13.3 function attribute joins the existing kernel-attribute surface.
Open questions for the meeting:
- Exact mapping onto cuda.core's graph classes (which wrapper owns
CUgraphvsCUgraphExec). - Plain
intIDs vs. small typed wrappers. containing_graph: return an existing wrapper (identity-cached) or a fresh non-owning one —
consistent withfrom_handleconstructors need to allow managing ownership #1187 / Inconsistent lifetime management acrossfrom_handle/from_*APIs #1989 lifetime conventions.
References
- Driver docs (Graph Management): https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__GRAPH.html
- Found during the CUDA 12.8 → 13.3 bindings vs. cuda.core gap sweep (2026-07-14)
-- Leo's bot
Metadata
Metadata
Assignees
Labels
cuda.coreEverything related to the cuda.core moduleEverything related to the cuda.core modulefeatureNew feature or requestNew feature or request
Activity