columnGPUドライバーとは?NVIDIA GPUドライバーを徹底解説

GPUドライバーとは?NVIDIA GPUドライバーを徹底解説
「GPUドライバーとは?」という疑問に答えるために、仕組みや種類の違い、選び方、インストール手順までを徹底解説いたします。

1. はじめに

近年、LinuxにおけるNVIDIA GPUドライバーを取り巻く状況は大きく変化しています。特に2022年5月に公開された「NVIDIA Open GPU Kernel Modules」により、従来のプロプライエタリな配布形態から、カーネルモジュール部のみがオープンソース化される形へと進化しました。これにより、新しいLinuxカーネルへの追従性や、セキュリティ監査・コードレビューのしやすさが向上しています。

本稿では、NVIDIA GPUドライバーの種類、Open GPU Kernel Modulesの意義、性能・安定性・互換性の観点を整理し、ユースケース別の選定指針を提示します。

2. NVIDIA GPUドライバーの種類整理

NVIDIA GPUで利用できるドライバーは大きく以下の3種類に整理できます。
  • Nouveauドライバー(コミュニティ主導の完全オープンソース)
  • NVIDIAドライバー(従来のプロプライエタリー、いわゆるCUDA Driver)
  • NVIDIA Open GPU Kernel Modulesを用いたドライバー(カーネル部のみOSS化)
▼NVIDIA GPUで利用できるドライバーの種類(Linux OSの場合)
GPUドライバーの技術コラム画像

2-1. GPUドライバーの基本構成

GPUドライバーを説明する前にLinux OSにおけるGPUドライバーの役割と構成について説明します。GPUドライバーは、簡単に示すと主に以下で構成されています。
  • カーネルスペース: カーネルモジュール
  • ユーザースペース: ランタイムや各種ライブラリ
▼LinuxOSにおけるGPUドライバー
GPUドライバーの技術コラム画像

Kernelスペースには、Linuxのユーザースペースから接続できるようにする「Kernelモジュール」とハードウェアを動かすための「Firmware」、Kernel領域でLinux Kernelを操作する「Kernel Interface」があります。

3. NVIDIA Open GPU Kernel Modules

3-1. Open GPU Kernel Modulesのリリース

NVIDIA Open GPU Kernel Modulesは、2022年5月にNVIDIAから公開されました。公開の主目的は、リリースサイクルの改善と、企業・セキュリティ分野からのブラックボックス性解消への要請に応えることとされています。

Open GPU Kernel Modulesは、カーネルスペース側のソースコードが公開されたものです。ユーザースペースのランタイムやライブラリーは従来どおりクローズソースで配布されます。

▼オープンソースになったGPUドライバー
GPUドライバーの技術コラム画像

3-2. 何が変わったのか

従来は、Linuxカーネルが更新されるたびに、NVIDIAから対応版のバイナリカーネルモジュールが出るのを待つ必要がありました。しかしOpen GPU Kernel Modulesでは、ソースコードが公開されたことで、Linuxカーネル更新時にDKMSを用いた自動再コンパイルが可能になり、最新カーネルへの追従性が高まりました。

3-3. 対応世代

Open GPU Kernel Modulesが対象とするのは、Turing世代以降のGPUです(例:RTX 20x0以降)。

4. 性能・安定性・互換性の比較

性能面では、Open GPU Kernel Modulesと従来のプロプライエタリドライバーの差は概ね±1%程度に収まるケースが多く、一般的なワークロードにおいて大きな性能差は見られません。一方で、安定性や互換性という観点では、利用するAPIやソフトウェアスタックによって適切な選択が異なります。
  • グラフィックスAPI(Vulkan、OpenGL、OptiX等(描画/レンダリング関連技術))やISV認証が重要なワークステーション用途では、従来のプロプライエタリドライバーが選ばれる場面があります。
  • 最新のLinuxカーネルへの迅速な追従や、コード監査の必要がある環境では、Open GPU Kernel Modulesが有力な選択肢となります。

5. 選定指針(ユースケース別)

以下は、ユースケースごとの現実的な選定の目安です。

5-1. Openを選ぶ場面

  • 独自カーネル/最新LTSへ素早く追従したいHPC・AIクラスターの利用者
  • コード監査・パッチ適用が必要なセキュアな環境

5-2. プロプライエタリを選ぶ場面

  • Vulkan、OpenGL、OptiX等(描画/レンダリング関連技術)のグラフィックAPIの安定性が最優先
  • Turing以前のNVIDIA GPUで動作するソフトウェアを利用する場合
  • ベンダーQAが完了したドライバーを求めるISV認証ワークステーション
  • 既存ツールチェーンがプロプライエタリブランチに依存

6. ドライバー比較表

ドライバー ライセンス形態 主な対応世代 カーネル追従 性能傾向 代表的な適用シーン
Nouveau OSS(コミュニティ) 幅広いが機能制約あり ディストリ依存 用途により制約 OSS主体、検証・学習用途
NVIDIAプロプライエタリ クローズド 全般 公式リリースに依存 安定重視 ISV認証、グラフィックAPI重視
Open GPU Kernel Modules カーネル部OSS Turing以降 DKMSで再コンパイル ±1%程度 HPC/AI、最新カーネル追従、監査環境

7. まとめ

結論として、Turing以降のGPUであれば多くのケースでOpen GPU Kernel Modulesを選択して問題ありません。一方で、グラフィックAPIの安定性やISV認証を最優先するワークステーションなどでは、依然としてプロプライエタリドライバーがいいでしょう。自社のワークロード特性と運用要件(更新頻度、監査要件、互換性要件)を踏まえ、最適なドライバーを選定してください。

付録: NVIDIA GPUドライバーのインストール【2025年最新版】

NVIDIA Open GPU Kernel Modulesドライバーが出てきたことにより、インストール方法も以前とは変わりました。UbuntuでのGPUドライバーのインストール方法について2025年最新版としてご紹介します。

1. GPUドライバーのインストール手順の変化

1-1. 旧来のインストール手順

旧来は、以下のようにインストールしていました。(Ubuntuがインストールされている状態を前提とします)
  1. Ubuntuで標準インストールされるNouveauドライバーを外して再起動する
  2. NVIDIA公式サイトからCUDAドライバーをダウンロードしてインストールする(CUDAにはGPUドライバーも入っている)
▼sudo apt install cuda
GPUドライバーの技術コラム画像

1-2. 新しいインストール手順

しかし、NVIDIA Open GPU Kernel Modulesドライバーが出てきたことにより、以下のようにインストールするようになりました。
※Open GPU Kernel ModulesドライバーとCUDAを別々にインストールするのが新しいインストール手順となります。
  1. Ubuntuで標準インストールされるNouveauドライバーを外して再起動する
  2. NVIDIA Open GPU Kernel Modulesドライバーをインストールする
  3. NVIDIA CUDAをインストールする
▼sudo apt install nvidia-open and cuda
GPUドライバーの技術コラム画像

2. 実際のNVIDIA GPUドライバーのインストール

実際にGPUドライバーをインストールする手順がどうなったのか、最新のインストール手順をご紹介します。ここで利用しているGPUはH200というデータセンター用のものです。
サーバーは、SupermicroでCPUはIntel x86_64アーキテクチャ、インストールされているOSはUbuntu 24.04 LTSです。
NVIDIA RTX等のようなコンシューマー向けGPUドライバーでのインストール方法とは違うかもしれませんのでご注意ください。

参考:
Driver Installation Guide ※NVIDIA公式サイトに飛びます

2-1. Nouveauドライバーの確認

インストールされているNouveau(ヌーボー)ドライバーを確認し、ブラックリストの有無をチェックして、Nouveauドライバーを無効化します。
  1. ロード状況の確認
    Nouveauドライバーが入っているのを確認します。通常、Ubuntuがインストールされる時にGPUを自動的に認識してインストールするので、入っているのが正常です。
    lsmod | grep nouveau
  2. ブラックリストを確認
    ブラックリストを使ってNouveauドライバーが起動時に読み込まれるのを停止させます。現在はまだ入れていないので表示されないのが正常です。
    cat /etc/modprobe.d/blacklist-nouveau.conf

2-3. NVIDIA Open GPU Kernel Moduleドライバーインストール

  1. ブラックリストファイル作成
    Nouveauドライバーを読み込まれないようにする設定ファイルを作成します。
    sudo vi /etc/modprobe.d/blacklist-nouveau.conf

    ファイル内に以下を記述します。
    blacklist nouveau
    options nouveau modeset=0

    ■実行結果
    ▼blacklist nouveau
GPUドライバーの技術コラム画像
  1. initramfs更新
    起動時のramfsを更新します。
    sudo update-initramfs -u

    更新したら再起動しましょう。
    sudo reboot

2-3. NVIDIA Open GPU Kernel Moduleドライバーインストール

  1. 前提パッケージの導入(DKMSビルドとカーネルヘッダー)
    ビルドツールとDKMSをインストールします。
    sudo apt update
    sudo apt install -y build-essential dkms nvidia-driver-assistant linux-headers-$(uname -r)
  2. NVIDIA公式リポジトリを追加
    NVIDIAの公式リポジトリを追加します。
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
    sudo dpkg -i cuda-keyring_1.1-1_all.deb

    リポジトリをアップデートします。
    sudo apt update
  3. 推奨ドライバーの確認(Open版の可否を含めて確認)
    nvidia-driver-assistantコマンドを実行します。OSとGPUをチェックして、インストールに最適なコマンドを回答してくれます。
    nvidia-driver-assistant

    ■実行結果
    Detected GPUs:
      NVIDIA H200 - (pci_id 0x2335)
    Detected system: Ubuntu 24.04
    Please copy and paste the following command to install the open kernel module flavour: sudo apt-get install -y nvidia-open

    インストールするバージョンを調べるには以下のコマンドでリストが表示されるのでバージョンをメモしておきましょう。
    apt-cache search '^nvidia-driver-.*-open$'

    ■実行結果
    ▼apt-cache search
GPUドライバーの技術コラム画像
  1. nvidia-openパッケージインストール
    sudo apt install nvidia-open

    ■実行結果
    ▼apt install nvidia-open
GPUドライバーの技術コラム画像

(GL、EGL、Vulkan、X用のドライバー等が不要な場合は、以下のパッケージだけインストールするので問題ありません。その場合はメタパッケージがないのでバージョン指定でインストールします)

VER=580  # バージョンを指定
sudo apt -v install -y libnvidia-compute-${VER} nvidia-dkms-${VER}-open
  • 再起動
    再起動は基本不要ですが、念のため実施しておきます。
    sudo reboot
  • nvidia smiでチェック
    nvidia-smiコマンドでインストールされたドライバーをチェックします。
    nvidia-smi
    cat /proc/driver/nvidia/version
    lsmod | grep nvidia
    dkms status | grep nvidia || true

    指定したバージョンがインストールされていれば正常です。

    ■実行結果
    ▼lsmod dkms
GPUドライバーの技術コラム画像

---
関連記事はこちら:
-[GPUトポロジーとは?マルチGPU環境で押さえるべき接続技術]

【筆者情報】
株式会社スタイルズ(菱洋エレクトログループ会社)
矢野哲朗

更新日:2025.12.19
  • このエントリーをはてなブックマークに追加
page top