Apt-get yükseltmesinden sonra Nvidia grafik sürücüsü ve CUDA ile ilgili sorunlar


9

Daha önce Nvidia'dan "deb (ağ)" yüklemesini kullanarak Ubuntu 14.04'e CUDA 7.5 yükledim. sudo apt-get upgradeBugün koşana kadar birkaç ay çalıştı . Bunu yaptıktan sonra aşağıdakilerle karşılaştım

$ 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.

Koşu sudo nvidia-smifarklı değil. GUI modunda giriş yapamıyorum (şifremi girdikten sonra giriş ekranına geri dönüyor), ancak terminale erişebiliyorum.

Grafiksel işlevselliği geri yükleyebildim, ancak bundan sonra CUDA'yı yeniden yüklerken sorun yaşıyorum. Lütfen bana yardım edebilir misin?

Grafikleri geri yükleme

Grafikleri tekrar çalıştırabildiğimi fark ettim

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

ve ardından /etc/apt/sources.list.d/cuda.listtüm satırları kaldırmak için düzenleme

$ sudo apt-get install nvidia-352

ve sistemin yeniden başlatılması. Bundan sonra nvidia-smitekrar çalışıyor. Ancak yine de CUDA'yı yeniden yüklemem gerekiyor.

CUDA'yı yeniden yüklemeye çalışıyorum

İçeriğini geri yüklemeyi /etc/apt/sources.list.d/cuda.listve sonra yapmayı denedim sudo apt-get install cuda. Bu hata mesajını fark ettim:

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)

Bunu yaptıktan sonra, sistem başlangıçtaki davranışına geri döner. Örneğin, nvidia-smiyukarıdaki hata iletisini yazdırır ve oluşturup çalıştırdıktan sonra deviceQuerybenzer bir hata alıyorum:

./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'yı ilk kurduğumda, sadece nvidia-352paketi Nvidia depolarından güncellemeden yapsaydım işe yarayacağını hatırlıyorum . Ancak, şimdi bunu yapma seçeneğine sahip görünmüyorum, çünkü çalıştırdığımda paketi sudo apt-get install cudaotomatik olarak yükseltir nvidia-352:

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

Sürümleri açıkça ayarlamaya çalışırsam,

$ 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.

Aslında, bunu yapmak 352.63-0ubuntu1yerine sürümü kullanmaya çalışırsam352.63-0ubuntu0.14.04.1

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

grafik girişini kırmak ve nvidia-smiyukarıdaki hata mesajını görüntülemek için bu yeterlidir .

Teşhis

$ 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

Yanıtlar:


6

Benzer bir sorun yaşadım. Nvidia sürücüsünün önerilen sürümünü yükleyerek bunu çözebildim.

sudo apt-get install ubuntu-drivers-common

sudo ubuntu-drivers devices

sudo apt-get install <recommended version>

3
Yukarıdaki komutlardan sonra "sudo modprobe nvidia" komutunu vermek zorunda kaldım, sonra her şey çalışıyordu
MARK

@MARK modprobe ile hata alıyorum: HATA: 'nvidia_396' eklenemedi: Gerekli anahtar mevcut değil. Herhangi bir ipucu?
Aerin

4

Bir arkadaşım bunu benim için çözebildi!

Bana gösterdiği çözüm (önceki tüm nvidia paketlerini kaldırdıktan sonra)

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

sonra Nvidia'dan .run CUDA yükleyicisini indirin (benim için cuda_7.5.18_linux.run) ve CUDA ile birlikte gelen sürücüyü kurmak isteyip istemediğiniz sorulduğunda "hayır" ı seçmeye dikkat edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.