@@ -13,22 +13,48 @@ be considered stable and will follow semantic versioning with appropriate
1313deprecation periods for breaking changes.
1414
1515
16- CUDA runtime
17- ------------
16+ Devices and execution
17+ ---------------------
1818
1919.. autosummary ::
2020 :toctree: generated/
2121
2222 Device
23- Graph
24- GraphBuilder
2523 launch
2624
2725 :template: autosummary/cyclass.rst
2826
29- Buffer
3027 Stream
3128 Event
29+
30+ :template: dataclass.rst
31+
32+ StreamOptions
33+ EventOptions
34+ LaunchConfig
35+
36+ .. data :: LEGACY_DEFAULT_STREAM
37+
38+ The legacy default CUDA stream. All devices share the same legacy default
39+ stream, and work launched on it is not concurrent with work on any other
40+ stream.
41+
42+ .. data :: PER_THREAD_DEFAULT_STREAM
43+
44+ The per-thread default CUDA stream. Each host thread has its own per-thread
45+ default stream, and work launched on it can execute concurrently with work
46+ on other non-blocking streams.
47+
48+
49+ Memory management
50+ -----------------
51+
52+ .. autosummary ::
53+ :toctree: generated/
54+
55+ :template: autosummary/cyclass.rst
56+
57+ Buffer
3258 MemoryResource
3359 DeviceMemoryResource
3460 GraphMemoryResource
@@ -42,24 +68,65 @@ CUDA runtime
4268 DeviceMemoryResourceOptions
4369 PinnedMemoryResourceOptions
4470 ManagedMemoryResourceOptions
45- EventOptions
46- GraphCompleteOptions
47- GraphDebugPrintOptions
48- StreamOptions
49- LaunchConfig
5071 VirtualMemoryResourceOptions
5172
52- .. data :: LEGACY_DEFAULT_STREAM
5373
54- The legacy default CUDA stream. All devices share the same legacy default
55- stream, and work launched on it is not concurrent with work on any other
56- stream.
74+ CUDA graphs
75+ -----------
5776
58- .. data :: PER_THREAD_DEFAULT_STREAM
77+ A CUDA graph captures a set of GPU operations and their dependencies,
78+ allowing them to be defined once and launched repeatedly with minimal
79+ CPU overhead. Graphs can be constructed in two ways:
80+ :class: `~graph.GraphBuilder ` captures operations from a stream, while
81+ :class: `~graph.GraphDef ` builds a graph explicitly by adding nodes and
82+ edges. Both produce an executable :class: `~graph.Graph ` that can be
83+ launched on a :class: `Stream `.
5984
60- The per-thread default CUDA stream. Each host thread has its own per-thread
61- default stream, and work launched on it can execute concurrently with work
62- on other non-blocking streams.
85+ .. autosummary ::
86+ :toctree: generated/
87+
88+ graph.Graph
89+ graph.GraphBuilder
90+ graph.GraphDef
91+
92+ :template: autosummary/cyclass.rst
93+
94+ graph.GraphNode
95+ graph.Condition
96+
97+ :template: dataclass.rst
98+
99+ graph.GraphAllocOptions
100+ graph.GraphCompleteOptions
101+ graph.GraphDebugPrintOptions
102+
103+ Node types
104+ ``````````
105+
106+ Every graph node is a subclass of :class: `~graph.GraphNode `, which
107+ provides the common interface (dependencies, successors, destruction).
108+ Each subclass exposes attributes unique to its operation type.
109+
110+ .. autosummary ::
111+ :toctree: generated/
112+
113+ :template: autosummary/cyclass.rst
114+
115+ graph.EmptyNode
116+ graph.KernelNode
117+ graph.AllocNode
118+ graph.FreeNode
119+ graph.MemsetNode
120+ graph.MemcpyNode
121+ graph.ChildGraphNode
122+ graph.EventRecordNode
123+ graph.EventWaitNode
124+ graph.HostCallbackNode
125+ graph.ConditionalNode
126+ graph.IfNode
127+ graph.IfElseNode
128+ graph.WhileNode
129+ graph.SwitchNode
63130
64131
65132CUDA compilation toolchain
0 commit comments