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)ハードウェアとの互換性。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト