pub struct CudaGraph { /* private fields */ }Expand description
CUDA Graph: a directed acyclic graph of GPU operations
Implementations§
Source§impl CudaGraph
impl CudaGraph
Sourcepub fn node_count(&self) -> usize
pub fn node_count(&self) -> usize
Get node count
Sourcepub fn add_kernel_node(
&mut self,
name: &str,
grid: [u32; 3],
block: [u32; 3],
dependencies: &[NodeId],
) -> Result<NodeId>
pub fn add_kernel_node( &mut self, name: &str, grid: [u32; 3], block: [u32; 3], dependencies: &[NodeId], ) -> Result<NodeId>
Add a kernel node
Sourcepub fn add_memcpy_node(
&mut self,
size: usize,
kind: MemcpyDirection,
dependencies: &[NodeId],
) -> Result<NodeId>
pub fn add_memcpy_node( &mut self, size: usize, kind: MemcpyDirection, dependencies: &[NodeId], ) -> Result<NodeId>
Add a memcpy node
Sourcepub fn add_memset_node(
&mut self,
size: usize,
value: u8,
dependencies: &[NodeId],
) -> Result<NodeId>
pub fn add_memset_node( &mut self, size: usize, value: u8, dependencies: &[NodeId], ) -> Result<NodeId>
Add a memset node
Sourcepub fn add_host_node(
&mut self,
name: &str,
dependencies: &[NodeId],
) -> Result<NodeId>
pub fn add_host_node( &mut self, name: &str, dependencies: &[NodeId], ) -> Result<NodeId>
Add a host callback node
Sourcepub fn add_empty_node(&mut self, dependencies: &[NodeId]) -> Result<NodeId>
pub fn add_empty_node(&mut self, dependencies: &[NodeId]) -> Result<NodeId>
Add an empty synchronization node
Sourcepub fn root_nodes(&self) -> Vec<NodeId> ⓘ
pub fn root_nodes(&self) -> Vec<NodeId> ⓘ
Get all root nodes (no dependencies)
Sourcepub fn topological_order(&self) -> Result<Vec<NodeId>>
pub fn topological_order(&self) -> Result<Vec<NodeId>>
Get topological ordering of nodes for execution
Sourcepub fn instantiate(&mut self) -> Result<GraphExec>
pub fn instantiate(&mut self) -> Result<GraphExec>
Instantiate the graph (compile for execution)
Sourcepub fn is_instantiated(&self) -> bool
pub fn is_instantiated(&self) -> bool
Whether the graph has been instantiated
Auto Trait Implementations§
impl Freeze for CudaGraph
impl RefUnwindSafe for CudaGraph
impl Send for CudaGraph
impl Sync for CudaGraph
impl Unpin for CudaGraph
impl UnsafeUnpin for CudaGraph
impl UnwindSafe for CudaGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more