pub enum ContextMethod {
ThreadId,
BlockId,
GlobalThreadId,
SyncThreads,
Now,
AtomicAdd,
WarpShuffle,
LaneId,
WarpId,
}Expand description
RingContext method mappings to CUDA intrinsics.
Variants§
ThreadId
ctx.thread_id() -> threadIdx.x
BlockId
ctx.block_id() -> blockIdx.x
GlobalThreadId
ctx.global_thread_id() -> blockIdx.x * blockDim.x + threadIdx.x
SyncThreads
ctx.sync_threads() -> __syncthreads()
Now
ctx.now() -> HLC timestamp
AtomicAdd
ctx.atomic_add(ptr, val) -> atomicAdd(ptr, val)
WarpShuffle
ctx.warp_shuffle(val, lane) -> __shfl_sync(0xFFFFFFFF, val, lane)
LaneId
ctx.lane_id() -> threadIdx.x % 32
WarpId
ctx.warp_id() -> threadIdx.x / 32
Implementations§
Source§impl ContextMethod
impl ContextMethod
Trait Implementations§
Source§impl Clone for ContextMethod
impl Clone for ContextMethod
Source§fn clone(&self) -> ContextMethod
fn clone(&self) -> ContextMethod
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContextMethod
impl Debug for ContextMethod
Source§impl PartialEq for ContextMethod
impl PartialEq for ContextMethod
impl Copy for ContextMethod
impl Eq for ContextMethod
impl StructuralPartialEq for ContextMethod
Auto Trait Implementations§
impl Freeze for ContextMethod
impl RefUnwindSafe for ContextMethod
impl Send for ContextMethod
impl Sync for ContextMethod
impl Unpin for ContextMethod
impl UnwindSafe for ContextMethod
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)