#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

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

source§

fn clone(&self) -> cudaLaunchAttributeID

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for cudaLaunchAttributeID

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for cudaLaunchAttributeID

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for cudaLaunchAttributeID

source§

fn eq(&self, other: &cudaLaunchAttributeID) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for cudaLaunchAttributeID

source§

impl Eq for cudaLaunchAttributeID

source§

impl StructuralPartialEq for cudaLaunchAttributeID

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.