11 ポイント 投稿者 GN⁺ 2024-07-18 | 4件のコメント | WhatsAppで共有
  • NVIDIAは2022年5月、R515ドライバでLinux GPUカーネルモジュールをGPLおよびMITのデュアルライセンスでオープンソースとして公開した
  • 当時はデータセンター向けコンピューティングGPUが対象で、GeForceとWorkstation GPUはアルファ段階だった
  • その後のリリースでは、より強力で完全な機能を備えたGeForceおよびWorkstation向けLinuxサポートが提供され、NVIDIAのオープンカーネルモジュールが最終的にクローズドドライバを置き換えると発表していた
  • それから2年が経過した現在、オープンソースGPUカーネルモジュールで同等またはそれ以上のアプリケーション性能を達成し、次のような重要な新機能が追加された:
    • 異種メモリ管理(HMM)のサポート
    • コンフィデンシャルコンピューティング
    • Graceプラットフォームのコヒーレントメモリアーキテクチャ
    • そのほか多数
  • 現時点でオープンソースGPUカーネルモジュールへ完全移行するのが適切な段階に達しており、今後のR560ドライバリリースでこの変更を適用する予定

対応GPU

  • すべてのGPUがオープンソースGPUカーネルモジュールと互換性があるわけではない
  • NVIDIA Grace HopperやNVIDIA Blackwellのような最新プラットフォームでは、必ずオープンソースGPUカーネルモジュールを使用する必要があり、これらのプラットフォームではプロプライエタリドライバはサポートされない
  • Turing、Ampere、Ada Lovelace、Hopperアーキテクチャの新しいGPUでは、オープンソースGPUカーネルモジュールへの移行が推奨される
  • Maxwell、Pascal、Voltaアーキテクチャの旧世代GPUはオープンソースGPUカーネルモジュールと互換性がないため、引き続きNVIDIAのプロプライエタリドライバを使用する
  • 同一システム内で旧世代GPUと新世代GPUが混在する構成では、引き続きプロプライエタリドライバを使用する
  • NVIDIAは、どのドライバを選ぶべきか案内する新しい検出アシスタントスクリプトを提供している。詳細はこの投稿の後半にある「インストールアシスタントスクリプトの使用」セクションを参照

インストーラの変更点

  • 一般に、あらゆるインストール方法でインストールされるドライバのデフォルト版は、プロプライエタリドライバからオープンソースドライバへ移行しつつある。特に注意が必要なシナリオがいくつかある:
    • CUDAメタパッケージを含むパッケージマネージャ
    • 実行ファイル
    • インストールアシスタントスクリプト
    • パッケージマネージャの詳細
    • Windows Subsystem for Linux
    • CUDAツールキット

CUDAメタパッケージを含むパッケージマネージャの使用

  • パッケージマネージャ(runファイルではない)を使ってCUDAツールキットをインストールする場合、インストール用メタパッケージが存在し、通常はこれが使われる。最上位のcudaパッケージをインストールすると、CUDAツールキットと、それに対応するドライバリリースの組み合わせがインストールされる

実行ファイルの使用

  • CUDAまたはNVIDIAドライバを.runファイルでインストールする場合、インストーラがハードウェアを照会し、システムに最適なドライバを自動的にインストールする。UIトグルを使って、プロプライエタリドライバとオープンソースドライバのどちらかを選ぶこともできる

インストールアシスタントスクリプトの使用

  • 前述のとおり、システムのGPUにどのドライバを選ぶべきか確信が持てない場合に備え、NVIDIAは選択プロセスを案内するアシスタントスクリプトを作成した
  • 使用するには、まずnvidia-driver-assistantパッケージをパッケージマネージャでインストールし、その後スクリプトを実行すればよい

パッケージマネージャの詳細

  • 一貫した体験のため、NVIDIAはCUDAツールキットとドライバのインストールにパッケージマネージャを使うことを推奨している。ただし、各種ディストリビューションで使われる具体的なパッケージ管理システムやパッケージ構成は、ディストリビューションごとに異なる場合がある
  • このセクションでは、各種プラットフォームに必要な具体的な詳細、注意事項、または移行手順について説明している

Windows Subsystem for Linux

  • Windows Subsystem for Linux(WSL)は、ホストWindows OSのNVIDIAカーネルドライバを使用する。このプラットフォームに特定のドライバをインストールしてはならない。WSLを使用している場合、変更や対応は不要

CUDAツールキット

  • CUDAツールキットのインストール自体は、パッケージマネージャ経由でも変更はない。次のコマンドを実行すればよい:
$ sudo apt-get/dnf/zypper install cuda-toolkit  

詳細情報

  • NVIDIAドライバまたはCUDAツールキットのインストール方法の詳細については、CUDAインストールガイドの「ドライバのインストール」セクションを参照

GN⁺の見解

  • NVIDIAがGPUカーネルモジュールをオープンソースとして提供することは、GPUコンピューティングのエコシステムにとって非常に前向きな変化である。これにより、ユーザーと開発者はNVIDIA GPUドライバに関連する問題をより容易にデバッグし、解決できるようになる

  • オープンソース化により、HPC、AI、機械学習などの分野でNVIDIA GPUを活用するユーザーに、より大きな柔軟性と透明性がもたらされる。特に企業環境でNVIDIA GPUソリューションを導入する際のセキュリティや安定性への懸念を和らげるのに役立つだろう

  • ただし、オープンソース化の過程で、既存のプロプライエタリドライバベースのアプリケーションとの互換性問題が発生する可能性がある。NVIDIAはこれに対して明確なガイドラインと移行パスを提示する必要があるだろう

  • AMDのROCmのような競合するオープンソースGPUコンピューティングプラットフォームとの比較も興味深いテーマになり得る。NVIDIAのオープンソース化によって、GPUコンピューティング分野での競争はさらに激化するとみられる

  • 今後、NVIDIAがコミュニティからの貢献を積極的に受け入れ、オープンソースGPUカーネルモジュールの性能と安定性を継続的に改善していくことが期待される。これはGPUコンピューティングの大衆化とイノベーションの加速に貢献するだろう

4件のコメント

 
bbulbum 2024-07-18

リーナス・トーバルズ: NVIDIA! ダメ! クソったれ!

 
halfenif 2024-07-19

強烈なひと言…… F*ck……!

 
bbulbum 2024-07-18

そうなるかもですね(笑)

 
GN⁺ 2024-07-18
Hacker Newsの意見
  • 数年前にNvidiaが深刻なハッキング被害を受けたことを覚えている

    • ハッカーたちは、ドライバをオープンソース化しなければすべてのデータを公開すると脅迫していた
    • おそらくハッカーたちは欲しいものを手に入れた可能性がある
  • Nvidiaのカーネルモジュールは2つの構成要素に分かれている

    • オペレーティングシステムに依存しない "OS-agnostic" 構成要素
    • Linuxカーネルのバージョンおよび構成に固有の "kernel interface layer" 構成要素
    • Nvidiaの .run インストールパッケージに含まれる場合、OS-agnostic 構成要素はバイナリとして提供される
  • NvidiaでSwayとWaylandを使うのがあまりにも難しかったのでAMDに乗り換えた

    • 主な問題は、現在は解決された gitlab.freedesktop.org のイシューだった
  • 現在LinuxにおけるNvidiaドライバの状況がどうなっているのか気になる

    • 新しいデスクトップをAMD GPUで構築した
    • クローズドソースや、不十分または古いオープンソースドライバの問題を避けたかった
  • Nvidiaは完全にオープンソースのGPUカーネルモジュールへ移行した

    • あるいは、Nvidiaは完全にオープンソースのGPUカーネルモジュールへ移行中である
  • この変化によってLinuxでのNvidiaドライバのインストールやアップグレードがもっと簡単になることを願う

    • ドライバ、ユーティリティ、コンテナランタイムの間のバージョン不一致を解決するのは悪夢だった
  • tarballを投げつけて「取ってこい!」と言うのでは意味がない

    • 実際にアップストリームカーネルへドライバを貢献するまではAMDを買うつもりだ
  • 細部を注意深く読む懐疑的な人間として、これは良い動きだと思う

    • Nvidiaの独占的な文化が強化される可能性を除けば、欠点は見当たらない
  • Linusがカメラを見ながらNvidiaに中指を立てたときのことを覚えている

    • もうその時期は過ぎたのか、和解するときが来たのか、それともまだ問題があるのか気になる
  • カーネルモジュールだけでも何かを提供したことには意味がある

    • ただし、おそらくアップストリームには貢献されないだろう