Dao-AILab/causal-conv1d
Causal depthwise conv1d in CUDA, with a PyTorch interface
何を解決するか
因果的な深さ方向1次元畳み込みは、AIモデルにおけるシーケンスモデリングに不可欠です。このプロジェクトは、標準的なPyTorch conv1d 操作を置き換える、高効率なCUDA実装を提供します。因果的な操作(出力が時刻ステップの過去と現在のステップにのみ依存する)に最適化された専用カーネルを使用することで、より効率的な処理が可能になります。
動作方法
このプロジェクトは、カスタムCUDAカーネルを実装し、深さ方向1次元畳み込みを実行します。fp32、fp16、bf16の複数の精度形式と、カーネルサイズ2、3、4をサポートしています。PyTorchに直接統合され、入力テンソル、重み、オプションのバイアスおよび活性化関数(例:SiLUまたはSwish)を引数に取る関数 causal_conv1d_fn として提供されます。
対象ユーザー
因果畳み込みの効率的な低レベルCUDA実装が必要な、高性能なシーケンスモデルや状態空間モデル(SSM)を開発している開発者や研究者。
特徴
- 因果的な深さ方向1次元畳み込み用の最適化されたCUDAカーネル。
- fp32、fp16、bf16の精度をサポート。
- カーネルサイズ2、3、4をサポート。
- オプションのSiLUおよびSwish活性化関数を内蔵サポート。
- NVIDIA(CUDA)およびAMD(ROCm)ハードウェアとの互換性。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト