cuDNN的fused attention如何调用?cuDNN的fused attention如何调用?
cuDNN 从 8.x 起提供 fused attention 实现:将 QKV 投影、attention score、softmax、与 value 乘 等融合为少量 kernel,减少 launch 与显存往返,并针对 A100 等做优化。适合固定或常见 shape 的 transformer attention,作为 backend 被 PyTorch/TensorRT 等调用。
直接调用:多数用户通过 框架 使用,而非直接调 cuDNN C API。PyTorch:torch.nn.functional.scaled_dot_product_attention 在 backend=”flash_attention” 或 backend=”sdpa” 且环境有 cuDNN 时,底层可走 cuDNN fused attention(取决于 PyTorch 与 cuDNN 版本)。启用:需 cuDNN 8+、对应 CUDA、且 PyTorch 编译时启用;运行时通常无需改代码,只要不用 backend="eager" 等强制关闭即可。TensorRT:plugin 或 built-in 中会选用 cuDNN attention;用户通过 ONNX/TRT 图表达 attention 即可。
| 返回模块 | 返回总览 |