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()など、メモリ管理と同期のための専用関数が含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト