apt-getアップグレード後のNvidiaグラフィックドライバとCUDAに関する問題


9

以前、Nvidiaから「deb(ネットワーク)」インストールを使用して、CUDA 7.5をUbuntu 14.04にインストールしました。sudo apt-get upgrade今日実行するまで、それは数ヶ月働いていました。これを行った後、私は次のことに遭遇しました

$ nvidia-smi
modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

ランニングsudo nvidia-smiも同じです。GUIモードでログインできません(パスワードを入力するとログイン画面に戻ります)が、ターミナルにアクセスできます。

グラフィカル機能を復元することはできましたが、その後CUDAを再インストールするのが困難です。手伝ってくれませんか?

グラフィックの復元

実行することでグラフィックを再び機能させることができることがわかりました

$ sudo apt-get remove --purge nvidia*
$ sudo apt-get autoremove

そして編集/etc/apt/sources.list.d/cuda.listしてすべての行を削除してから

$ sudo apt-get install nvidia-352

そしてシステムを再起動します。この後、nvidia-smi再び働いています。しかし、CUDAを再インストールする必要があります。

CUDAを再インストールしようとしています

の内容を復元し/etc/apt/sources.list.d/cuda.listてみましたsudo apt-get install cuda。私はこのエラーメッセージに気づきました:

Loading new nvidia-352-352.93 DKMS files...
Building only for 3.13.0-68-generic
Building for architecture x86_64
Building initial module for 3.13.0-68-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-352.0.crash'
Error! Bad return status for module build on kernel: 3.13.0-68-generic (x86_64)

これを実行すると、システムは最初の動作に戻ります。たとえば、nvidia-smi上記のエラーメッセージを出力し、ビルドして実行した後deviceQuery、同様のエラーが発生します。

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL

CUDAを最初にインストールしたときnvidia-352、Nvidiaリポジトリからパッケージを更新せずにCUDAをインストールした場合にのみ機能することを思い出しているようです。しかし、実行するsudo apt-get install cudanvidia-352パッケージが自動的にアップグレードされるので、今はそれを実行するオプションがないようです。

Unpacking nvidia-352 (352.93-0ubuntu1) over (352.63-0ubuntu0.14.04.1) ...

バージョンを明示的に設定しようとすると、

$ sudo apt-get install cuda-drivers nvidia-352=352.63-0ubuntu0.14.04.1 nvidia-352-dev=352.63-0ubuntu0.14.04.1
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 cuda-drivers : Depends: nvidia-352 (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
                Depends: nvidia-352-dev (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.

実際に、私はバージョンを使用しようとした場合352.63-0ubuntu1の代わりを352.63-0ubuntu0.14.04.1実行して

$ sudo apt-get install nvidia-352=352.63-0ubuntu1

これは、グラフィカルログインを中断してnvidia-smi上記のエラーメッセージを表示するのに十分です。

診断

$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)

$ dpkg -l | grep -i nvidia
ii  bbswitch-dkms                                         0.7-2ubuntu1                                        amd64        Interface for toggling the power on nVidia Optimus video cards
ii  libcuda1-352                                          352.93-0ubuntu1                                     amd64        NVIDIA CUDA runtime library
ii  nvidia-352                                            352.93-0ubuntu1                                     amd64        NVIDIA binary driver - version 352.93
ii  nvidia-352-dev                                        352.93-0ubuntu1                                     amd64        NVIDIA binary Xorg driver development files
ii  nvidia-352-uvm                                        352.93-0ubuntu1                                     amd64        Transitional package for nvidia-352
ii  nvidia-modprobe                                       352.93-0ubuntu1                                     amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-352                                 352.93-0ubuntu1                                     amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                          0.6.2                                               amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                       352.93-0ubuntu1                                     amd64        Tool for configuring the NVIDIA graphics driver

回答:


6

同様の問題がありました。推奨バージョンのnvidiaドライバーをインストールすることでこれを解決できました。

sudo apt-get install ubuntu-drivers-common

sudo ubuntu-drivers devices

sudo apt-get install <recommended version>

3
上記のコマンドの後にコマンド「sudo modprobe nvidia」を発行する必要があり、その後すべてが機能していました
MARK

@MARK modprobeでエラーが発生する:エラー: 'nvidia_396'を挿入できませんでした:必要なキーを使用できません。任意のヒント?
Aerin

4

友人が解決してくれました!

彼が私に示した解決策は(以前のようにすべてのnvidiaパッケージを削除した後)です

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get install nvidia-364

次に、Nvidiaから.run CUDAインストーラー(私にとってはcuda_7.5.18_linux.run)をダウンロードし、CUDAに同梱されているドライバーをインストールするかどうかを尋ねられたら、「いいえ」を選択するように注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.