GpuIntrinsic

Enum GpuIntrinsic 

Source
pub enum GpuIntrinsic {
Show 132 variants SyncThreads, ThreadFence, ThreadFenceBlock, ThreadFenceSystem, SyncThreadsCount, SyncThreadsAnd, SyncThreadsOr, AtomicAdd, AtomicSub, AtomicMin, AtomicMax, AtomicExch, AtomicCas, AtomicAnd, AtomicOr, AtomicXor, AtomicInc, AtomicDec, Sqrt, Rsqrt, Abs, Fabs, Floor, Ceil, Round, Trunc, Fma, Min, Max, Fmod, Remainder, Copysign, Cbrt, Hypot, Sin, Cos, Tan, Asin, Acos, Atan, Atan2, Sincos, Sinpi, Cospi, Sinh, Cosh, Tanh, Asinh, Acosh, Atanh, Exp, Exp2, Exp10, Expm1, Log, Log2, Log10, Log1p, Pow, Ldexp, Scalbn, Ilogb, Lgamma, Tgamma, Erf, Erfc, Erfinv, Erfcinv, Isnan, Isinf, Isfinite, Isnormal, Signbit, Nextafter, Fdim, Nan, WarpShfl, WarpShflUp, WarpShflDown, WarpShflXor, WarpActiveMask, WarpBallot, WarpAll, WarpAny, WarpMatchAny, WarpMatchAll, WarpReduceAdd, WarpReduceMin, WarpReduceMax, WarpReduceAnd, WarpReduceOr, WarpReduceXor, Popc, Clz, Ctz, Ffs, Brev, BytePerm, FunnelShiftLeft, FunnelShiftRight, Ldg, PrefetchL1, PrefetchL2, Rcp, Fdividef, Saturate, J0, J1, Jn, Y0, Y1, Yn, Normcdf, Normcdfinv, CylBesselI0, CylBesselI1, ThreadIdxX, ThreadIdxY, ThreadIdxZ, BlockIdxX, BlockIdxY, BlockIdxZ, BlockDimX, BlockDimY, BlockDimZ, GridDimX, GridDimY, GridDimZ, WarpSize, Clock, Clock64, Nanosleep,
}
Expand description

GPU intrinsic operations.

Variants§

§

SyncThreads

Thread synchronization within a block.

§

ThreadFence

Thread fence (memory ordering across device).

§

ThreadFenceBlock

Thread fence within block.

§

ThreadFenceSystem

Thread fence across system.

§

SyncThreadsCount

Synchronize threads with predicate.

§

SyncThreadsAnd

Synchronize threads with AND predicate.

§

SyncThreadsOr

Synchronize threads with OR predicate.

§

AtomicAdd

Atomic add.

§

AtomicSub

Atomic subtract.

§

AtomicMin

Atomic minimum.

§

AtomicMax

Atomic maximum.

§

AtomicExch

Atomic exchange.

§

AtomicCas

Atomic compare-and-swap.

§

AtomicAnd

Atomic bitwise AND.

§

AtomicOr

Atomic bitwise OR.

§

AtomicXor

Atomic bitwise XOR.

§

AtomicInc

Atomic increment (with wrap).

§

AtomicDec

Atomic decrement (with wrap).

§

Sqrt

Square root.

§

Rsqrt

Reciprocal square root.

§

Abs

Absolute value (integer).

§

Fabs

Absolute value (floating point).

§

Floor

Floor.

§

Ceil

Ceiling.

§

Round

Round to nearest.

§

Trunc

Truncate toward zero.

§

Fma

Fused multiply-add.

§

Min

Minimum.

§

Max

Maximum.

§

Fmod

Floating-point modulo.

§

Remainder

Remainder.

§

Copysign

Copy sign.

§

Cbrt

Cube root.

§

Hypot

Hypotenuse.

§

Sin

Sine.

§

Cos

Cosine.

§

Tan

Tangent.

§

Asin

Arcsine.

§

Acos

Arccosine.

§

Atan

Arctangent.

§

Atan2

Two-argument arctangent.

§

Sincos

Sine and cosine (combined).

§

Sinpi

Sine of pi*x.

§

Cospi

Cosine of pi*x.

§

Sinh

Hyperbolic sine.

§

Cosh

Hyperbolic cosine.

§

Tanh

Hyperbolic tangent.

§

Asinh

Inverse hyperbolic sine.

§

Acosh

Inverse hyperbolic cosine.

§

Atanh

Inverse hyperbolic tangent.

§

Exp

Exponential (base e).

§

Exp2

Exponential (base 2).

§

Exp10

Exponential (base 10).

§

Expm1

exp(x) - 1 (accurate for small x).

§

Log

Natural logarithm (base e).

§

Log2

Logarithm (base 2).

§

Log10

Logarithm (base 10).

§

Log1p

log(1 + x) (accurate for small x).

§

Pow

Power.

§

Ldexp

Load exponent.

§

Scalbn

Scale by power of 2.

§

Ilogb

Extract exponent.

§

Lgamma

Logarithm of gamma function.

§

Tgamma

Gamma function.

§

Erf

Error function.

§

Erfc

Complementary error function.

§

Erfinv

Inverse error function.

§

Erfcinv

Inverse complementary error function.

§

Isnan

Check if NaN.

§

Isinf

Check if infinite.

§

Isfinite

Check if finite.

§

Isnormal

Check if normal.

§

Signbit

Check sign bit.

§

Nextafter

Next representable value.

§

Fdim

Floating-point difference.

§

Nan

Not-a-Number.

§

WarpShfl

Warp shuffle.

§

WarpShflUp

Warp shuffle up.

§

WarpShflDown

Warp shuffle down.

§

WarpShflXor

Warp shuffle XOR.

§

WarpActiveMask

Get active thread mask.

§

WarpBallot

Warp ballot.

§

WarpAll

Warp all predicate.

§

WarpAny

Warp any predicate.

§

WarpMatchAny

Warp match any.

§

WarpMatchAll

Warp match all.

§

WarpReduceAdd

Warp reduce add.

§

WarpReduceMin

Warp reduce min.

§

WarpReduceMax

Warp reduce max.

§

WarpReduceAnd

Warp reduce AND.

§

WarpReduceOr

Warp reduce OR.

§

WarpReduceXor

Warp reduce XOR.

§

Popc

Population count (count set bits).

§

Clz

Count leading zeros.

§

Ctz

Count trailing zeros (via ffs).

§

Ffs

Find first set bit.

§

Brev

Bit reverse.

§

BytePerm

Byte permute.

§

FunnelShiftLeft

Funnel shift left.

§

FunnelShiftRight

Funnel shift right.

§

Ldg

Read-only cache load.

§

PrefetchL1

Prefetch L1.

§

PrefetchL2

Prefetch L2.

§

Rcp

Reciprocal.

§

Fdividef

Division (fast).

§

Saturate

Saturate to [0,1].

§

J0

Bessel J0.

§

J1

Bessel J1.

§

Jn

Bessel Jn.

§

Y0

Bessel Y0.

§

Y1

Bessel Y1.

§

Yn

Bessel Yn.

§

Normcdf

Normal CDF.

§

Normcdfinv

Inverse normal CDF.

§

CylBesselI0

Cylindrical Bessel I0.

§

CylBesselI1

Cylindrical Bessel I1.

§

ThreadIdxX

Thread index X.

§

ThreadIdxY

Thread index Y.

§

ThreadIdxZ

Thread index Z.

§

BlockIdxX

Block index X.

§

BlockIdxY

Block index Y.

§

BlockIdxZ

Block index Z.

§

BlockDimX

Block dimension X.

§

BlockDimY

Block dimension Y.

§

BlockDimZ

Block dimension Z.

§

GridDimX

Grid dimension X.

§

GridDimY

Grid dimension Y.

§

GridDimZ

Grid dimension Z.

§

WarpSize

Warp size (always 32).

§

Clock

Read clock counter.

§

Clock64

Read 64-bit clock counter.

§

Nanosleep

Nanosleep.

Implementations§

Source§

impl GpuIntrinsic

Source

pub fn to_cuda_string(&self) -> &'static str

Convert to CUDA function/intrinsic name.

Source

pub fn is_value_intrinsic(&self) -> bool

Check if this intrinsic is a value (no parentheses needed).

Source

pub fn is_zero_arg_function(&self) -> bool

Check if this intrinsic is a zero-argument function (ends with ()).

Source

pub fn requires_mask(&self) -> bool

Check if this intrinsic requires a mask argument (warp operations).

Source

pub fn category(&self) -> &'static str

Get the category of this intrinsic for documentation purposes.

Trait Implementations§

Source§

impl Clone for GpuIntrinsic

Source§

fn clone(&self) -> GpuIntrinsic

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for GpuIntrinsic

Source§

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

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

impl PartialEq for GpuIntrinsic

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for GpuIntrinsic

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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.
§

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

Performs the conversion.