artyom-beilis/pytorch_dlprim

DLPrimitives/OpenCL out of tree backend for pytorch

解決する課題

PyTorchにOpenCLバックエンドを提供し、ネイティブなCUDAサポートがない場合でも、より幅広いハードウェアデバイス(AMD、Nvidia、Intel GPUを含む)でニューラルネットワークの実行と学習を可能にします。

仕組み

このプロジェクトは、実際の演算子実装を処理する dlprimitives ライブラリに基づいた「out-of-tree」バックエンドを実装しています。pytorch_ocl パッケージをインポートすることで、ユーザーは cuda の代わりにデバイス文字列 ocl(古いPyTorchバージョンの場合は privateuseone)を使用して、OpenCL互換デバイスをターゲットにできます。

対象ユーザー

さまざまなベンダー(AMD、Intel、Nvidia)のOpenCL互換GPUをPyTorchのワークロード、特に視覚系ネットワークで活用したい開発者や研究者。

ハイライト

  • 幅広いハードウェアサポート: AMD (RX 6600XT, RX 560)、Nvidia (GTX 960)、Intel (HD 530, UHD 770, Arc A380) デバイスでテスト済み。
  • 視覚ネットワークの検証: ResNet、MobileNet、EfficientNet、ViTを含む幅広い torchvision モデルに対して、CPUリファレンスとの比較検証済み。
  • PyTorchの互換性: PyTorch 1.13 および 2.4+ をサポート。
  • 専用API: torch.ocl.empty_cache() や torch.ocl.synchronize() など、メモリ管理と同期のための専用関数が含まれています。

関連

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