Expand description
Ergonomic builder API for constructing ComputeGraphs.
GraphBuilder provides a fluent interface for assembling a computation
graph, handling ID allocation and optional automatic data-flow edge
inference transparently.
§Example
let mut b = GraphBuilder::new();
let upload = b.add_memcpy("upload", MemcpyDir::HostToDevice, 4096);
let weights = b.alloc_buffer("weights", 4096);
let compute = b.add_kernel("gemm", 32, 256, 0).fusible(false).finish();
let download = b.add_memcpy("download", MemcpyDir::DeviceToHost, 4096);
b.dep(upload, compute).dep(compute, download);
let graph = b.build().unwrap();
assert_eq!(graph.node_count(), 3);Structs§
- Graph
Builder - Builds a
ComputeGraphvia a fluent API. - Kernel
Node Builder - Fluent builder for a single kernel launch node.