#[non_exhaustive]#[repr(u32)]pub enum cudaLaunchAttributeID {
cudaLaunchAttributeIgnore = 0,
cudaLaunchAttributeAccessPolicyWindow = 1,
cudaLaunchAttributeCooperative = 2,
cudaLaunchAttributeSynchronizationPolicy = 3,
cudaLaunchAttributeClusterDimension = 4,
cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
cudaLaunchAttributeProgrammaticStreamSerialization = 6,
cudaLaunchAttributeProgrammaticEvent = 7,
cudaLaunchAttributePriority = 8,
cudaLaunchAttributeMemSyncDomainMap = 9,
cudaLaunchAttributeMemSyncDomain = 10,
}Expand description
Launch attributes enum; used as id field of ::cudaLaunchAttribute
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
cudaLaunchAttributeIgnore = 0
< Ignored entry, for convenient composition
cudaLaunchAttributeAccessPolicyWindow = 1
< Valid for streams, graph nodes, launches.
cudaLaunchAttributeCooperative = 2
< Valid for graph nodes, launches.
cudaLaunchAttributeSynchronizationPolicy = 3
< Valid for streams.
cudaLaunchAttributeClusterDimension = 4
< Valid for graph nodes, launches.
cudaLaunchAttributeClusterSchedulingPolicyPreference = 5
< Valid for graph nodes, launches.
cudaLaunchAttributeProgrammaticStreamSerialization = 6
< Valid for launches. Setting programmaticStreamSerializationAllowed to non-0 signals that the kernel will use programmatic means to resolve its stream dependency, so that the CUDA runtime should opportunistically allow the grid’s execution to overlap with the previous kernel in the stream, if that kernel requests the overlap. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions).
cudaLaunchAttributeProgrammaticEvent = 7
< Valid for launches. Event recorded through this launch attribute is guaranteed to only trigger after all block in the associated kernel trigger the event. A block can trigger the event programmatically in a future CUDA release. A trigger can also be inserted at the beginning of each block’s execution if triggerAtBlockStart is set to non-0. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions). Note that dependents (including the CPU thread calling cudaEventSynchronize()) are not guaranteed to observe the release precisely when it is released. For example, cudaEventSynchronize() may only observe the event trigger long after the associated kernel has completed. This recording type is primarily meant for establishing programmatic dependency between device tasks. The event supplied must not be an interprocess or interop event. The event must disable timing (i.e. created with ::cudaEventDisableTiming flag set).
cudaLaunchAttributePriority = 8
< Valid for streams, graph nodes, launches.
cudaLaunchAttributeMemSyncDomainMap = 9
cudaLaunchAttributeMemSyncDomain = 10
Trait Implementations§
source§impl Clone for cudaLaunchAttributeID
impl Clone for cudaLaunchAttributeID
source§fn clone(&self) -> cudaLaunchAttributeID
fn clone(&self) -> cudaLaunchAttributeID
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for cudaLaunchAttributeID
impl Debug for cudaLaunchAttributeID
source§impl Hash for cudaLaunchAttributeID
impl Hash for cudaLaunchAttributeID
source§impl PartialEq for cudaLaunchAttributeID
impl PartialEq for cudaLaunchAttributeID
source§fn eq(&self, other: &cudaLaunchAttributeID) -> bool
fn eq(&self, other: &cudaLaunchAttributeID) -> bool
self and other values to be equal, and is used
by ==.