Repolode
NVIDIA

NVIDIA/cutlass

NVIDIA GPU向けの高性能GEMMや関連する線形代数カーネルを記述するための、CUDA C++テンプレートライブラリとPython DSL。

スター
10,623
フォーク
2,133
未解決の Issue
785
最終コミット
昨日

これは何?

CUTLASSは、CUDA上で高性能な行列積(GEMM)や関連演算を実装するための抽象化を集めたライブラリです。処理をスレッド、warp、threadblockの各レベルに分けた再利用可能な階層型コンポーネントで構成し、タイルサイズ、データ型、アルゴリズムポリシーを調整できます。これらのコンポーネントはカスタムカーネルを構築するための部品として利用できます。

C++ライブラリは、FP64、FP32、TF32、FP16、BF16、FP8、ブロックスケーリング形式のFP4およびFP6、狭幅整数など、幅広い数値型に対応し、NVIDIA VoltaからBlackwell、Rubinまでのアーキテクチャで利用できます。中核となるレイアウトおよびテンソルライブラリのCuTeは、GEMMの階層全体で使用されています。

CUTLASS 4では、CUTLASSとCuTeの概念に基づくCUDAカーネルをPythonで記述できるネイティブインターフェース、CuTe DSLが追加されました。現在はパブリックベータです。また、GEMMや畳み込みカーネルの実行と比較に使えるサンプル、ユニットテスト、コマンドラインプロファイラも含まれています。

主な機能

  • 01GEMMや畳み込みカーネル向けの、階層型で再利用可能なC++テンプレート
  • 02スレッドやデータを記述するためのCuTeレイアウトおよびテンソル抽象化
  • 03FP64からFP8、ブロックスケーリング形式のFP4/FP6、狭幅整数型まで対応
  • 04PythonでCUDAカーネルを記述するためのCuTe DSL
  • 05GEMMや畳み込みカーネルをcuBLASと比較してベンチマークするコマンドラインプロファイラ

ユースケース

  • NVIDIA GPU上のディープラーニング処理向けに、高性能なカスタムGEMMや融合カーネルを構築する
  • Tensor Coreを使ったGEMMカーネルの構造やチューニング方法を学ぶ
  • CuTe DSLを使ってPythonでカーネル設計を試作し、本番環境へ展開する
  • 問題サイズに応じたGEMMまたは畳み込みカーネルの構成をプロファイリングして選定する

クイックスタート

  1. 1

    CUTLASS C++ クイックスタートガイドを読む

  2. 2

    Python インターフェース向けの CuTe DSL クイックスタートガイドを読む

使う前に知っておきたいこと

  • CuTe DSL はパブリックベータ版で、まだ正式リリースに至っていません。
  • Rubin(sm107)GPU では、一部のパック命令に既知のコード生成バグがあります。
  • NVIDIA GPU と CUDA ツールチェーンが必要です。
  • メタデータからライセンスを明確に判別できないため、使用前にライセンス条件を確認してください。

トピック

よくある質問

cutlass とは?
NVIDIA GPU向けの高性能GEMMや関連する線形代数カーネルを記述するための、CUDA C++テンプレートライブラリとPython DSL。 CUTLASSは、CUDA上で高性能な行列積(GEMM)や関連演算を実装するための抽象化を集めたライブラリです。処理をスレッド、warp、threadblockの各レベルに分けた再利用可能な階層型コンポーネントで構成し、タイルサイズ、データ型、アルゴリズムポリシーを調整できます。これらのコンポーネントはカスタムカーネルを構築するための部品として利用できます。
cutlass は無料で使えますか?ライセンスは?
cutlass は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
cutlass は今もメンテナンスされていますか?
活発にメンテナンス中。cutlass の最終コミットは 2026年10月20日 です。
cutlass は何に使えますか?
NVIDIA GPU上のディープラーニング処理向けに、高性能なカスタムGEMMや融合カーネルを構築する Tensor Coreを使ったGEMMカーネルの構造やチューニング方法を学ぶ CuTe DSLを使ってPythonでカーネル設計を試作し、本番環境へ展開する 問題サイズに応じたGEMMまたは畳み込みカーネルの構成をプロファイリングして選定する
cutlass のインストール方法は?
CUTLASS C++ クイックスタートガイドを読む Python インターフェース向けの CuTe DSL クイックスタートガイドを読む
cutlass はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/NVIDIA/cutlass

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト