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
| Family | Forward | Backward | Notes |
|---|---|---|---|
| Conv | ✓ | ✓ data + filter | 1D/2D/3D, NCHW + NHWC, groups, dilation |
| Pool | ✓ | ✓ | max, avg, avg-exclude-padding |
| BatchNorm | ✓ | ✓ | training, inference, persistent |
| LayerNorm | ✓ | ✓ | training, 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) | |
| Attention | ✓ | ✓ | causal, sliding-window, GQA/MQA, dropout |
| RNN/LSTM/GRU | ✓ | ✓ | uni + 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§
- Activation
Request - Legacy F2 Activation request.
- Conv
Forward Request - Legacy F2 ConvForward request (NCHW, f32 only).
- Conv
Params - Convolution parameters (cuDNN 2D conv subset).
- Cudnn
Actor - Softmax
Request - Legacy F2 Softmax request.
Enums§
- Cudnn
Msg - Mailbox message for
CudnnActor.