J'ai un ordinateur portable MSI GT60 avec un GPU GTX 670M compatible Optimus, et j'ai essayé de lancer CUDA dans l'environnement Ubuntu 12.04. Je me rends compte qu'Optimus n'est pas pris en charge sous Linux, mais j'ai lu le post suivant suggérant que CUDA fonctionne pour les GPU hybrides.
J'ai installé le pilote NVIDIA via
Sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
Sudo apt-get update
Sudo apt-get install nvidia-current
La version résultante du pilote est 302.17, et la GTX 670M serait prise en charge depuis 295.59. J'ai également téléchargé CUDA 4.2 sur le site NVIDIA et l'ai compilé avec les bibliothèques nvidia-current.
Malheureusement, lorsque j'exécute deviceQuery dans le SDK CUDA, j'obtiens la sortie suivante
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Vérifier/proc/driver/nvidia/gpus/0/information donne les informations suivantes
Model: GeForce GTX 670M
IRQ: 16
GPU UUID: GPU-????????-????-????-????-????????????
Video BIOS: ??.??.??.??.??
Bus Type: PCI-E
DMA Size: 32 bits
DMA Mask: 0xffffffffff
Bus Location: 0000:01.00.0
Voici la sortie de "lspci | grep VGA"
00:02.0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1213 (rev ff)
Alors ... qu'est-ce que je fais mal?
Merci!
OK, j'ai eu le même problème. Ce qui suit a fonctionné pour moi:
installer les pilotes de développement NVIDIA (295.41) sans écraser les fichiers opengl:
Sudo stop lightdm
Sudo ./devdriver_4.2_linx_64_295.41.run --no-opengl-files
Il est important pas de cocher l'option pour modifier le xorg.conf
fichier
installez la boîte à outils CUDA (4.2 pour moi car j'ai besoin d'OpenCL) et les exemples de code comme d'habitude
si vous exécutez deviceQuery
en tant que super utilisateur, cela devrait fonctionner:
Sudo ./deviceQuery
Tout est écrit dans le fichier doc des pilotes de périphérique, en /usr/share/doc/NVIDIA_GLX-1.0/
(chapitre 19).
J'ai exactement le même problème que vous et même si je ne sais pas si cela fonctionnera pour vous, il existe une solution. Vous pouvez installer les pilotes Bumblebee ou Ironhide pour activer Optimus pour Linux. Optimus utilise votre ordinateur portable pour basculer entre les 2 cartes vidéo et ainsi améliorer les performances de la batterie.