Type Alias cudaGraphEdgeData

Source
pub type cudaGraphEdgeData = cudaGraphEdgeData_st;
Expand description

Optional annotation for edges in a CUDA graph. Note, all edges implicitly have annotations and default to a zero-initialized value if not specified. A zero-initialized struct indicates a standard full serialization of two nodes with memory visibility.

Aliased Type§

#[repr(C)]
pub struct cudaGraphEdgeData { pub from_port: u8, pub to_port: u8, pub type_: u8, pub reserved: [u8; 5], }

Fields§

§from_port: u8

< This indicates when the dependency is triggered from the upstream node on the edge. The meaning is specfic to the node type. A value of 0 in all cases means full completion of the upstream node, with memory visibility to the downstream node or portion thereof (indicated by \c to_port).
Only kernel nodes define non-zero ports. A kernel node can use the following output port types: ::cudaGraphKernelNodePortDefault, ::cudaGraphKernelNodePortProgrammatic, or ::cudaGraphKernelNodePortLaunchCompletion.

§to_port: u8

< This indicates what portion of the downstream node is dependent on the upstream node or portion thereof (indicated by \c from_port). The meaning is specific to the node type. A value of 0 in all cases means the entirety of the downstream node is dependent on the upstream work.
Currently no node types define non-zero ports. Accordingly, this field must be set to zero.

§type_: u8

< This should be populated with a value from ::cudaGraphDependencyType. (It is typed as char due to compiler-specific layout of bitfields.) See ::cudaGraphDependencyType.

§reserved: [u8; 5]

< These bytes are unused and must be zeroed. This ensures compatibility if additional fields are added in the future.