LibreCuda - 独自ランタイムなしでNvidia GPU上でCUDAコードを実行
(github.com/mikex86)- CUDAドライバAPIを置き換え、独自のCUDAランタイムに依存せずにNvidia GPU上でCUDAコードを実行できるようにすることを目指すプロジェクト
- ioctls(特にNvidiaのオープンGPUカーネルモジュールで
rmapiと呼ばれるもの)と、NvidiaのMMIOコマンドキュー構造であるQMDを通じてハードウェアと直接通信 - CUDA ELFバイナリをGPUにアップロードし、コマンドキューを通じて実行可能
- 現在の機能
- GPUメモリの割り当てと解放、およびCPUがアクセスできるようにするためのメモリマッピング
- CUDA ELFバイナリをGPUにアップロード可能
- コマンドキュー経由でCUDAカーネルを実行
- MITライセンス
GN⁺の要約
- LibreCUDAは、独自のCUDAランタイムなしでNvidia GPU上でCUDAコードを実行できるようにするプロジェクト
- 現時点では基本機能のみが実装されており、実運用の準備はできていない
- 類似の機能を持つプロジェクトとしてROCmがあり、AMD GPUでCUDAに類似した機能を提供する
1件のコメント
Hacker Newsの意見
オープンCUDAの目的は、NVIDIA GPU以外のGPUでも実行できるようにすること
CUDAの経験は限られているが、これがさまざまなMLライブラリ(例: TensorFlow、ONNX)を実行する際に発生するCUDA/CUDNN依存関係のバージョン問題を解決する助けになるのか気になる
とても良い
CUDAに依存するプロジェクトがプラットフォームの自由を得るために、LibreCUDAからHiPへ移行することが第一歩になるべき
CUDA ELFファイルが何なのか気になる
CUDA初心者として、これがどんな問題を解決するのか気になる
CUDA Libreと呼ぶチャンスを逃したように思える
依然としてプロプライエタリなNVIDIAグラフィックドライバを動かす必要があるのか、それとも完全に無関係なのか気になる
著者たちは商標侵害の通知について考え始めるべき
ZLUDAがAMDの要請で中止された後、CUDA依存を断ち切る一般的な方法としてZLUDAの代替が必要