独自のNvidiaドライバがインストールされているサーバー(Debian 9 Stretchを実行)があります。科学コンピューティングには頭がありません。
したがって、CUDAを使用するためにNvidiaドライバをインストールします(Nvidiaホームページからダウンロードしたパッケージファイルを使用してCUDAをインストールしていますcuda_10.0.130_410.48_linux.run
)。以前はうまくいきました。
2日前に、ハイパースレッディングを無効にするためにシステムをBIOSに再起動しました。再起動後、Nvidiaドライバはロードされません。システムを何度も再起動しても同じ問題が発生します。
どのように再インポートできますか?
以下は参考にできるいくつかの情報です。
# lspci -v|grep VGA
05:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6G
B] (rev a1) (prog-if 00 [VGA controller])
# nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ma
ke sure that the latest NVIDIA driver is installed and running.
# modprobe nvidia
modprobe: FATAL: Module nvidia not found in directory /lib/modules/4.9.0-9-amd64
# nvidia-settings
ERROR: libgtk-3.so.0: cannot open shared object file: No such file or directory
libnvidia-gtk3.so: cannot open shared object file: No such file or
directory
libgtk-x11-2.0.so.0: cannot open shared object file: No such file or
directory
libnvidia-gtk2.so: cannot open shared object file: No such file or
directory
ERROR: A problem occured when loading the GUI library. Please check your
installation and library path. You may need to specify this library when
calling nvidia-settings. Please run `nvidia-settings --help` for usage
information.
答え1
この場合、Nvidia Webサイトで提供されているスクリプトからNvidia独自のドライバをインストールしないでください。あなたはフランケンデビアンあなたはそれを壊した。
Debianに必要なパッケージをインストールし、GPUのCUDA機能を使用する最も簡単で安全な方法は、リポジトリの公式の排他的なドライバとNvidiaツールキットをcontrib
使用することです。non-free
最新バージョンが入手できないので、これは大きな欠点のようです。 (しかし、以下を使用して取得できます。)backports
リポジトリ)、しかしCUDAの場合、特にヘッドレスサーバーでは意味があります。
したがって、サーバーをバックアップして実行するには(より安定したことは言うまでもありません)、Nvidia Webサイトから以前にインストールしたドライバをアンインストールし、NvidiaドライバとCUDAツールキットをパッケージ化したDebianコミュニティパッケージをインストールすることをお勧めします。
1) 以前のドライバ、CUDA、その他のリンクされたNvidiaパッケージを削除します。
# apt purge nvidia-*
2) Debian リポジトリをシステムに追加しますcontrib
(まだ実行していない場合)。次のようにする必要があります。non-free
/etc/apt/sources.list
deb http://deb.debian.org/debian stretch main contrib non-free deb-src
http://deb.debian.org/debian stretch main contrib non-free
deb http://deb.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ strech/updates main contrib non-free
deb http://deb.debian.org/debian stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian stretch-updates main contrib non-free
リポジトリが必要な場合backports
は、残りの後ろに次を追加してください。
deb http://deb.debian.org/debian stretch-backports main contrib non-free
deb-src http://deb.debian.org/debian stretch-backports main contrib non-free
3)apt
キャッシュ更新:
# apt update
4)Nvidia独自のドライバ(およびカーネルヘッダファイル)をインストールします。
# apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//') nvidia-driver
最新バージョンが必要で、backports
リポジトリのバージョン(現在のバージョンはそれぞれ375.66と390.48)を使用する場合は、前のコマンドの代わりにこのコマンドを使用してください。:
# apt-get install -t stretch-backports nvidia-driver
5)CUDAツールキットをインストールします。
# apt-get install nvidia-cuda-dev nvidia-cuda-toolkit
これはCUDA 8でのみサポートされており、gcc 5.3.1
コンパイルするにはコマンドラインにstretch
追加する必要があります。-ccbin clang-3.8
nvcc
CUDA 9を使用するには、backports
インストール前に行ったようにリポジトリのバージョンを使用できますnvidia-driver
。
# apt-get install -t stretch-backports nvidia-cuda-dev nvidia-cuda-toolkit
使用しているものを確認するには、変更ログを確認することをお勧めしますbackports
。
6) 機械を再始動して下さい
この時点で、目に見えるパフォーマンスに影響を与えることなく、すべてが以前と同様に正常に実行される必要があります。