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
impl GpuIntrinsic
Sourcepub fn to_cuda_string(&self) -> &'static str
pub fn to_cuda_string(&self) -> &'static str
Convert to CUDA function/intrinsic name.
Sourcepub fn is_value_intrinsic(&self) -> bool
pub fn is_value_intrinsic(&self) -> bool
Check if this intrinsic is a value (no parentheses needed).
Sourcepub fn is_zero_arg_function(&self) -> bool
pub fn is_zero_arg_function(&self) -> bool
Check if this intrinsic is a zero-argument function (ends with ()).
Sourcepub fn requires_mask(&self) -> bool
pub fn requires_mask(&self) -> bool
Check if this intrinsic requires a mask argument (warp operations).
Trait Implementations§
Source§impl Clone for GpuIntrinsic
impl Clone for GpuIntrinsic
Source§fn clone(&self) -> GpuIntrinsic
fn clone(&self) -> GpuIntrinsic
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more