Dao-AILab/causal-conv1d
Causal depthwise conv1d in CUDA, with a PyTorch interface
解決的問題
提供高度優化的 CUDA 實作,用於因果深度可分 1D 卷積,這是在 AI 模型中進行序列建模的關鍵元件。它以專用內核取代標準的 PyTorch conv1d 操作,該內核在因果運算(輸出僅依賴於過去與當前步驟)中更具效率。
工作原理
本專案實作自訂 CUDA 內核,執行深度可分 1D 卷積。支援多種精度格式(fp32、fp16、bf16)與卷積核大小 2、3、4。直接整合至 PyTorch,作為一個函數 causal_conv1d_fn,接收輸入張量、權重,以及可選的偏置與激活函數(如 SiLU 或 Swish)。
適用對象
需要高效、底層 CUDA 實作因果卷積的開發者與研究人員,用於建構高效率序列模型或狀態空間模型(SSMs)。
特色亮點
- 面向因果深度可分 1D 卷積的優化 CUDA 內核。
- 支援 fp32、fp16 與 bf16 精度。
- 支援卷積核大小 2、3 與 4。
- 內建支援可選的 SiLU 與 Swish 激活函數。
- 兼容 NVIDIA(CUDA)與 AMD(ROCm)硬體。
相關
- 專案
- 專案
- 專案
- 專案
- 專案