Skip to main content

Module cudnn

Module cudnn 

Source
Expand description

CudnnActor — Phase 2 cuDNN slice. Wraps a [cudarc::cudnn::Cudnn] handle and exposes the v9 frontend graph API plus legacy ConvForward / Activation / Softmax shims for back-compat.

§Module layout

kernel/cudnn/
├── mod.rs           — CudnnActor, CudnnMsg, CudnnInner, props
├── graph.rs         — v9 frontend graph spec (TensorSpec, OpSpec,
│                     OperationGraphSpec) + plan cache
├── conv.rs          — ConvFwdRequest<T>, ConvBwdDataRequest<T>,
│                     ConvBwdFilterRequest<T>
├── norm.rs          — BatchNormRequest<T>, LayerNormRequest<T>,
│                     InstanceNormRequest<T>, GroupNormRequest<T>,
│                     NormBwdRequest<T>
├── pool.rs          — PoolFwdRequest<T>, PoolBwdRequest<T>
├── attention.rs     — MultiHeadAttnFwdRequest<T>,
│                     MultiHeadAttnBwdRequest<T>
├── rnn.rs           — RnnFwdRequest<T>, RnnBwdRequest<T>
└── activation.rs    — ActivationFwdRequest<T>, SoftmaxFwdRequest<T>,
                      DropoutFwdRequest<T>, LrnFwdRequest<T>

§Op coverage

FamilyForwardBackwardNotes
Conv✓ data + filter1D/2D/3D, NCHW + NHWC, groups, dilation
Poolmax, avg, avg-exclude-padding
BatchNormtraining, inference, persistent
LayerNormtraining, inference
InstanceNorm
GroupNorm
Activation(fused with conv epilogue)relu, sigmoid, tanh, gelu, gelu_approx, swish, elu, softplus, identity
Softmax(planned)instance + channel mode
Dropout(planned)
LRN(planned)
Attentioncausal, sliding-window, GQA/MQA, dropout
RNN/LSTM/GRUuni + bi, multi-layer, dropout

§Dtype matrix

Every request type is generic over T: crate::dtype::CudnnSupported. Implementations cover f32, f64, i8, plus half::f16 and half::bf16 under the f16 feature.

Re-exports§

pub use activation::ActivationFwdRequest;
pub use activation::ActivationKind;
pub use activation::DropoutFwdRequest;
pub use activation::LrnFwdRequest;
pub use activation::LrnParams;
pub use activation::SoftmaxFwdRequest;
pub use activation::SoftmaxMode;
pub use attention::AttentionMask;
pub use attention::AttentionParams;
pub use attention::MultiHeadAttnBwdRequest;
pub use attention::MultiHeadAttnFwdRequest;
pub use conv::ConvBwdDataRequest;
pub use conv::ConvBwdFilterRequest;
pub use conv::ConvDescParams;
pub use conv::ConvFwdRequest;
pub use conv::EpilogueKind;
pub use graph::cache_key;
pub use graph::CachedPlan;
pub use graph::DtypeTag;
pub use graph::NormMode;
pub use graph::NormPhase;
pub use graph::OpSpec;
pub use graph::OperationGraphSpec;
pub use graph::PlanCache;
pub use graph::PlanCacheKey;
pub use graph::PointwiseMode;
pub use graph::PoolKind;
pub use graph::ReduceOp;
pub use graph::TensorLayout;
pub use graph::TensorSpec;
pub use graph::DEFAULT_PLAN_CACHE_SIZE;
pub use norm::BatchNormRequest;
pub use norm::GroupNormRequest;
pub use norm::InstanceNormRequest;
pub use norm::LayerNormRequest;
pub use norm::NormBwdRequest;
pub use pool::PoolBwdRequest;
pub use pool::PoolFwdRequest;
pub use pool::PoolMode;
pub use pool::PoolParams;
pub use rnn::RnnBwdRequest;
pub use rnn::RnnDirection;
pub use rnn::RnnFwdRequest;
pub use rnn::RnnMode;
pub use rnn::RnnParams;

Modules§

activation
Activation, dropout, and LRN requests for the cuDNN actor.
attention
Multi-head attention (cudnnFusedAttnFwd/cudnnFusedAttnBwd) request types.
conv
Convolution requests for the cuDNN actor (Phase 2 frontend graph API).
graph
cuDNN v9 frontend graph builder — Rust-level “spec” objects that describe a backend descriptor DAG (tensors → ops → operation graph → engine config → execution plan) plus a plan cache keyed on op-shape signatures.
norm
Normalisation requests for the cuDNN actor: BatchNorm (training + inference + persistent), LayerNorm, InstanceNorm, GroupNorm, RMSNorm.
pool
Pooling requests (max / avg, fwd + bwd) for the cuDNN actor.
rnn
RNN / LSTM / GRU forward + backward training requests.

Structs§

ActivationRequest
Legacy F2 Activation request.
ConvForwardRequest
Legacy F2 ConvForward request (NCHW, f32 only).
ConvParams
Convolution parameters (cuDNN 2D conv subset).
CudnnActor
SoftmaxRequest
Legacy F2 Softmax request.

Enums§

CudnnMsg
Mailbox message for CudnnActor.