#[repr(C)]pub struct CuLaunchConfig {
pub grid_dim_x: u32,
pub grid_dim_y: u32,
pub grid_dim_z: u32,
pub block_dim_x: u32,
pub block_dim_y: u32,
pub block_dim_z: u32,
pub shared_mem_bytes: u32,
pub stream: CUstream,
pub attrs: *const CuLaunchAttribute,
pub num_attrs: u32,
}Expand description
Extended kernel launch configuration for cuLaunchKernelEx (CUDA 12.0+).
Supersedes the individual parameters of cuLaunchKernel and adds
support for thread block clusters, launch priorities, and other
CUDA 12.x features.
§Example
use oxicuda_driver::ffi::{
CuLaunchConfig, CuLaunchAttribute, CuLaunchAttributeId,
CuLaunchAttributeValue, CuLaunchAttributeClusterDim, CUstream,
};
// Build a cluster-launch config for a 2×1×1 cluster.
let cluster_attr = CuLaunchAttribute {
id: CuLaunchAttributeId::ClusterDimension,
pad: [0u8; 4],
value: CuLaunchAttributeValue {
cluster_dim: CuLaunchAttributeClusterDim { x: 2, y: 1, z: 1 },
},
};
let _config = CuLaunchConfig {
grid_dim_x: 8,
grid_dim_y: 1,
grid_dim_z: 1,
block_dim_x: 256,
block_dim_y: 1,
block_dim_z: 1,
shared_mem_bytes: 0,
stream: CUstream::default(),
attrs: std::ptr::null(),
num_attrs: 0,
};Fields§
§grid_dim_x: u32Grid dimension in X.
grid_dim_y: u32Grid dimension in Y.
grid_dim_z: u32Grid dimension in Z.
block_dim_x: u32Block dimension in X (threads per block in X).
block_dim_y: u32Block dimension in Y.
block_dim_z: u32Block dimension in Z.
Dynamic shared memory per block in bytes.
stream: CUstreamStream to submit the kernel on.
attrs: *const CuLaunchAttributePointer to an array of num_attrs attributes (may be null if zero).
num_attrs: u32Number of entries in attrs.
Trait Implementations§
impl Send for CuLaunchConfig
impl Sync for CuLaunchConfig
Auto Trait Implementations§
impl Freeze for CuLaunchConfig
impl RefUnwindSafe for CuLaunchConfig
impl Unpin for CuLaunchConfig
impl UnsafeUnpin for CuLaunchConfig
impl UnwindSafe for CuLaunchConfig
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