CentOS8/RHEL8でNVIDIA GPUドライバをレポジトリで適用する手法


2023/09/19追記

NVIDIA Tesla用の「NVIDIA Driver Installation Quickstart Guide」を確認したところ、RHEL8/CentOS8におけるレポジトリを使うインストール方法(Package Managerによるインストール)が記載されていることを確認した。

RHEL8の場合 の手順を確認すると、epelレポジトリも追加されていた。

まず、RHEL系のレポジトリを追加

$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
$ sudo subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
$ sudo subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
$

CUDAのレポジトリを追加

$ sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
$ 

nvidia kernelモジュールのコンパイル用にkernel-develとheadersを追加

$ sudo dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
$

ドライバインストール

$ sudo dnf clean all
$ sudo dnf -y module install nvidia-driver:latest-dkms
$

以下は以前の記述


Linux OSでNVIDIA GPUドライバを導入するには「Linux, FreeBSD, and Solarisドライバ」のページから「NVIDIA-Linux-x86_64-460.84.run」という実行形式のドライバを入手してインストール、というのが通例になっている。

しかし、同じNVDIA GPUを利用するCUDAの方の「CUDA Toolkitインストール」を見ると、下記の様にレポジトリを追加してのインストールを行っている。

Installation Instructions:
$ sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
$ sudo dnf clean all
$ sudo dnf -y module install nvidia-driver:latest-dkms
$ sudo dnf -y install cuda

上記で使用している https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/ を確認すると nvidia-driver-460.73.01-1.el8.x86_64.rpm などもあり、なんか使えそうな雰囲気が・・・

調べて見るとNVIDIA DEVELOPER BLOGに「Streamlining NVIDIA Driver Deployment on RHEL 8 with Modularity Streams」という記事を発見。

RHEL8の場合、レポジトリを3つ購読設定した上で

$ subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
$ subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
$ subscription-manager repos --enable=codeready-builder-for-rhel-8-x86_64-rpms
$

NVIDIAのCUDAレポジトリを追加して

$ sudo dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo

最新版のnvidia-driverを選択してインストールする、となっている。

$ sudo dnf module install nvidia-driver:latest

また、dnfのモジュールシステムにより、複数バージョンのnvidia-driverが提供されているので、たとえば「460.xx」のドライバを使い続けたい、という指定も可能になっている模様。

おそらく「dnf module list | grep nvidia」で検索すると、指定できるバージョンが確認できるはずです。

“CentOS8/RHEL8でNVIDIA GPUドライバをレポジトリで適用する手法” への2件の返信

  1. とても参考になりました。ありがとうございます。
    RHEL8+NVIDIAカードの環境で、グラフィックドライバでは随分悩みました。
    NVIDIA製のNVIDIA〜.runドライバでは非常に不安定で、
    さらにVMWAREでは使い物にならず、結局標準のnouveauを嫌々使ってパフォーマンスに不満を持っていました。
    こんな方法もあるとは全く思っていませんでした。

    1. ものとしては ~.run で配布されているやつと同等のはずではあるんですけど、安定度違いますかね?(自分とこではNvidia GPUを使ってないのでわからない・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください