inducer/pycuda
CUDA integration for Python, plus shiny features
何を解決するか
PyCUDAはPythonからNvidiaのCUDA並列計算APIに直接アクセスする方法を提供し、完全なC++アプリケーションを書かずに、計算集約的なタスクにGPUアクセラレーションを活用できるようにします。
動作方法
CUDAドライバAPIのPython的なラッパーとして機能します。速度のためにC++ベースレイヤーを使用し、RAII(リソース取得は初期化)を実装してメモリとオブジェクトのクリーンアップを自動的に管理し、リークやクラッシュを防ぎます。CUDAカーネルを管理するためのSourceModuleやGPU上のデータを扱うためのGPUArrayなどの高レベルな抽象化を提供します。
対象ユーザー
Python言語を使ってNvidia GPU上で高性能並列計算を実行したい開発者や研究者。
特徴
- 自動リソース管理: RAIIを使用して、メモリの解放とコンテキストの分離を正しい順序で保証します。
- C++のパフォーマンス: ベースレイヤーはC++で書かれており、Pythonラッパーによるオーバーヘッドを最小限に抑えます。
- 完全なAPIアクセス: CUDAドライバAPIのすべての機能にアクセス可能で、OpenGLとの相互運用性もサポートしています。
- エラー処理: CUDAエラーを自動的にPythonの例外に変換し、デバッグを容易にします。
関連
- プロジェクト
NVIDIA/cuda-pythonGPU加速コンピューティング向けに、NVIDIAのCUDAプラットフォームへの高レベルな慣習的アクセスと低レベルなバインディングアクセスの両方を提供するPythonパッケージのコレクション。
- プロジェクト
CVCUDA/CV-CUDACV‑CUDAは、NVIDIAのオープンソースGPUアクセラレーション・コンピュータビジョンライブラリです。高速でスケーラブルな画像/動画オペレータ(リサイズ、フィルタ、色変換など)を提供し、すべてGPU上で実行され、C/C++およびPythonのAIフレームワークと統合されます。Linux用のビルド済みwheel(`cvcuda-cu12`または`cvcuda-cu13`)からインストールし、`nvimgcodec`を使用して画像を直接GPUにデコードし、ディープラーニングモデルにデータを供給する前にCV‑CUDAオペレータをチェーンさせることができます。このライブラリは最新のNVIDIA GPU(Turing以降)をターゲットとしており、Microsoft Bingのビジュアル検索やTencent Cloudの動画処理などの本番システムで使用されています。
- プロジェクト
cupy/cupyCuPyは、NVIDIA CUDAおよびAMD ROCmプラットフォーム上で、Python向けのGPU加速数値計算を可能にするNumPyおよびSciPy互換の配列ライブラリです。
- プロジェクト
- プロジェクト
kunzmi/managedCudaNVIDIAのCUDA Driver APIおよびライブラリ用の.NETラッパーで、C#およびVisual Basic開発者がアプリケーションにGPUアクセラレーションを統合できるようにします。