#[non_exhaustive]#[repr(u32)]pub enum CUlaunchAttributeID_enum {
CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CU_LAUNCH_ATTRIBUTE_IGNORE = 0
< Ignored entry, for convenient composition
CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
< Valid for streams, graph nodes, launches.
CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2
< Valid for graph nodes, launches.
CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
< Valid for streams.
CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4
< Valid for graph nodes, launches.
CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
< Valid for graph nodes, launches.
CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 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).
CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 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 through PTX launchdep.release or CUDA builtin function cudaTriggerProgrammaticLaunchCompletion(). 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 cuEventSynchronize()) are not guaranteed to observe the release precisely when it is released. For example, cuEventSynchronize() 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 ::CU_EVENT_DISABLE_TIMING flag set).
CU_LAUNCH_ATTRIBUTE_PRIORITY = 8
< Valid for streams, graph nodes, launches.
CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
Trait Implementations§
source§impl Clone for CUlaunchAttributeID_enum
impl Clone for CUlaunchAttributeID_enum
source§fn clone(&self) -> CUlaunchAttributeID_enum
fn clone(&self) -> CUlaunchAttributeID_enum
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for CUlaunchAttributeID_enum
impl Debug for CUlaunchAttributeID_enum
source§impl Hash for CUlaunchAttributeID_enum
impl Hash for CUlaunchAttributeID_enum
source§impl PartialEq for CUlaunchAttributeID_enum
impl PartialEq for CUlaunchAttributeID_enum
source§fn eq(&self, other: &CUlaunchAttributeID_enum) -> bool
fn eq(&self, other: &CUlaunchAttributeID_enum) -> bool
self and other values to be equal, and is used
by ==.