web-dev-qa-db-fra.com

Échec de l'exécution de l'échantillon CUDA après l'installation de cuda 8.0

J'ai installé le cuba8.0 sur Ubuntu 16 en suivant les étapes ici .

Exécutez ensuite la mesure de confirmation. Après cela, je lance le make et je rencontre des erreurs comme ceci:

$make

...

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/bin/ld: cannot find -lnvcuvid

collect2: error: ld returned 1 exit status

Makefile:381: recipe for target 'cudaDecodeGL' failed

make[1]: *** [cudaDecodeGL] Error 1

make[1]: Leaving directory '/home/cocadas/Workspace/NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL'

Makefile:52: recipe for target '3_Imaging/cudaDecodeGL/Makefile.ph_build' failed
make: *** [3_Imaging/cudaDecodeGL/Makefile.ph_build] Error 2

Ensuite, j'ai vérifié les informations du système

Environnement

$ printenv PATH
/usr/local/cuda-8.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/Java-8-Oracle/bin:/usr/lib/jvm/Java-8-Oracle/db/bin:/usr/lib/jvm/Java-8-Oracle/jre/bin:/home/cocadas/Program/Android-studio/bin

$ echo $LD_LIBRARY_PATH
/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/lib64

OS

$ uname -m
x86_64

$ uname -r
4.4.0-64-generic

Autres

$ lspci |grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1)

$ gcc --version

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ Sudo apt-get install linux-headers-$(uname -r)
[Sudo] password for cocadas: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-4.4.0-64-generic is already the newest version (4.4.0-64.85).
linux-headers-4.4.0-64-generic set to manually installed.
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic linux-image-4.4.0-53-generic
  linux-image-extra-4.4.0-53-generic
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 99 not upgraded.
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  375.26  Thu Dec  8 18:36:43 PST 2016
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

Alors, que puis-je essayer d'autre?

3
Hong

Les makefiles des exemples ont un numéro de version incorrect pour nvidia-xxx. Remplacez-les par: sed -i "s/nvidia-367/nvidia-375/g" `grep "nvidia-367" -r ./ -l` et essayez à nouveau.

4
Dhoulmagus

Cela peut être spécifique à la version 9.0, mais cela ressemble à la dernière requête de scripts pour le pilote que vous avez installé via dpkg. On dirait que c'est le premier qui se trouve, si vous en avez plusieurs, ce qui est plutôt la version la plus ancienne.

Il me suffisait de désinstaller certains anciens pilotes (qui n'étaient plus utilisés) via:

# NOTE: your driver versions may vary

Sudo apt-get remove nvidia-367
Sudo apt-get remove nvidia-375
0
EmpireJones

La cause principale est que l'éditeur de liens ne trouve pas libnvcuvid et que la version du pilote du fichier make doit être 375 (comme indiqué dans le post). Par conséquent, utilisez la commande suivante dans le dossier:

~/NVIDIA_CUDA-8.0_Samples/$find . -type f -execdir sed -i 's/UBUNTU_PKG_NAME = "nvidia-367"/UBUNTU_PKG_NAME = "nvidia-375"/g' '{}' \;
0
Hong

J'ai utilisé la méthode dans ce post: cuda-sample-build-error . Je pense que vous devez simplement remplacer la version correcte du pilote gpu dans UBUNTU_PKG_NAME = "nvidia-375", que vous pouvez trouver à

.../NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL/findgllib.mk fichier

0
FloppyHank