pytorch/extension-cpp

C++ extensions in PyTorch

解決する課題

PyTorch でカスタム C++/CUDA 操作を作成するためのリファレンス実装を提供し、CPU と GPU の両方で実行可能な高性能カーネルを開発者が実装できるようにします。

仕組み

このリポジトリには、拡張機能を構築するための2つの異なるアプローチが含まれています。

  • 標準 ATen API: 完全な ATen/LibTorch API を使用する従来の方法。
  • Stable ABI: LibTorch Stable ABI (PyTorch 2.10+ 用) を使用する方法。これにより、再コンパイルを必要とせずに、複数の PyTorch バージョン間で拡張機能の互換性を保つことができます。

対象読者

PyTorch 用のカスタム高性能演算子を作成する必要があり、標準 API または Stable ABI を使用した実装方法を確認したい開発者。

ハイライト

  • mymuladd カスタム操作のデモンストレーション。
  • CPU および CUDA カーネルの両方を含む。
  • バージョン間互換性のための LibTorch Stable ABI をサポート。

関連

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