Page 1 sur 1

[Xorg] affichage iGPU intel et calcul Nvidia Cuda (résolu)

Publié : mer. 14 août 2013, 17:41
par nonobecane
Bonjour,

Je viens de me monter une nouvelle config qui sera entre autre utilisé pour faire du rendu sous blender.

- Carte Mère : Asus Z87-A
- Proc : i7 4770k
- Cartes graphiques : 2x GTX 580

Mon but est de gérer l'affichage depuis le chipset et d'utiliser les 2 CG uniquement lors des calcul de rendu avec blender.

J'ai installé le driver intel

Code : Tout sélectionner

pacman -S xf86-video-intel
puis désinstallé

Code : Tout sélectionner

pacman -Rdd mesa-libgl
afin de pouvoir installé

Code : Tout sélectionner

pacman -S nvidia cuda
puis j'ai désinstallé

Code : Tout sélectionner

pacman -Rdd nvidia-libgl
afin de pouvoir réinstallé

Code : Tout sélectionner

pacman -S mesa-libgl
glxgears fonctionne, blender s'ouvre mais aucun périphérique Cuda n'est détecté

Lorsque je branche mon écran sur une CG, toujours avec mesa-libgl, blender reconnait alors mes 2 CG comme périphs Cuda.

Auriez-vous une idée ?

J'ai franchis le pas ce matin vers Archlinux car je n'arrive pas à résoudre mon problème sur Debian.
J'ai installé également Win7 pour vérifier et ça fonctionne, affichage sur le chipset et rendu sur mes CG avec Blender (bien reconnu comme périphs Cuda).

Vous remerciant à l'avance de vos lumières.

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mer. 14 août 2013, 17:52
par Youpi
question bete, tu le lances avec optirun blender ?

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mer. 14 août 2013, 18:18
par nonobecane
Merci de ton interet Youpi

Euh non pas optirun

Sauf erreur optirun est fourni avec bumblebee que j'ai donc installé avec intel-dri qui me manquait.
J'ai suivi http://wiki.archlinux.fr/Bumblebee ajouté mon utilisateur, redémarrer, lancer le service en root puis démarrer ma session.
optirun /usr/bin/blender ne m'apporte rien (enfin toujours pas de périphs cuda reconnu)

En tout cas c'est en effet beaucoup plus cohérent.
J'ai testé glxgears : ~ 60FPS
optirun glxgears : ~ 1200FPS

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mer. 14 août 2013, 22:11
par Youpi
ceci peut t'aider

le premier lien de la liste : lien google

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : jeu. 15 août 2013, 09:20
par Rolinh
Heu... Bumblebee c'est pas uniquement pour les systèmes avec Optimus? En l’occurrence, c'est n'est pas le cas de la configuration de nonobecane...
Sinon, il semblerait que le pilote proprio ignore quoique ce soit sans qu'une configuration minimale ne soit créée (au pif hein), ce qui ne semble pas être ton cas (ou en tout cas tu ne l'as pas précisé).
A ta place je tenterais d'ajouter une configuration minimale dans /etc/X11/xorg.conf, en précisant l'ID du bus de la carte Nvidia pour que la configuration soit ignorée pour la HD4600:

Code : Tout sélectionner

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   BusID          "PCI:1:0:0"
EndSection
Vérifie l'ID avant de copier tel quel cette configuration (voir ici).

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : jeu. 15 août 2013, 11:56
par nonobecane
Merci à vous 2 pour vos réponses
@Rolinh : Pour Bumblebee, je ne pensais pas être concerné sur un Desktop mais ça fonctionne.
les résultats sur glxgears lancé ou non avec optirun sont sans appel.
Sauf erreur de ma part, ta proposition de documenté xorg.conf est valable si mon écran est connecté sur une sortie de CG. Non ? J'ai essayé quand même en documentant "/etc/X11/xorg.conf.d/10-nvidia.conf" avec, mais je n'arrive alors plus à démarrer X.
En fait je ne souhaite pas ignorer la HD4600 car c'est elle qui affiche le bureau

@Youpi
Merci pour ton lien, je ne suis pas certain de bien comprendre, je n'ai clairement pas le niveau.
Je vais peut-être dire une grosse c......e
Je crois que ce qui me concerne, vu que j'ai déjà installé cuda, c'est de paramètrer ces librairies dans le logiciel qui utilisera Cuda :
You may skip this step if you want, but then you've to set LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH later when running a program.
En l'occurence ce serai de recompiler Blender en modifiant ces librairies?

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : dim. 18 août 2013, 20:51
par Youpi
essaye de lancer ça :

Code : Tout sélectionner

LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH optirun blender

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : dim. 18 août 2013, 21:13
par benjarobin
@Youpi /usr/local/ n'existe pas sous ArchLinux, donc je ne vois pas comment ceci va aider

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : lun. 19 août 2013, 07:22
par nonobecane
essaye de lancer ça :

Code : Tout sélectionner

LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH optirun blender
J'ai essayé mais "LD_LIBRARY_PATH" n'est pas reconnu.
/usr/local/ n'existe pas sous ArchLinux
Ceci explique cela

En utilisant nvcc, ne serait-il pas possible de définir un chemin de librairie adapté pour Cuda ?
Extrait de

Code : Tout sélectionner

nvcc --help
....
--library <library>,...                     (-l)                              
        Specify libraries to be used in the linking stage without the library 
        file extension. The libraries are searched for on the library search 
        paths that have been specified using option '-L'.
....

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : lun. 19 août 2013, 11:46
par Xorg
benjarobin a écrit :@Youpi /usr/local/ n'existe pas sous ArchLinux, donc je ne vois pas comment ceci va aider

Code : Tout sélectionner

% pacman -Qo /usr/local
/usr/local appartient à filesystem 2013.05-2
:mrgreen:
nonobecane a écrit :
essaye de lancer ça :

Code : Tout sélectionner

LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH optirun blender
J'ai essayé mais "LD_LIBRARY_PATH" n'est pas reconnu.
/usr/local/ n'existe pas sous ArchLinux
Ceci explique cela

En utilisant nvcc, ne serait-il pas possible de définir un chemin de librairie adapté pour Cuda ?
Déjà, un petit tour sur la page du paquet cuda me montre que ses bibliothèques sont dans /opt/cuda/lib/ et /opt/cuda/lib64/, donc il y a des chances que ça soit plus de la forme :

Code : Tout sélectionner

LD_LIBRARY_PATH=/opt/cuda/lib64:/opt/cuda/lib:$LD_LIBRARY_PATH optirun blender
Je ne suis pas certain, mais je crois qu'il faut quelque chose comme ceci :

Code : Tout sélectionner

nvcc --library -L/opt/cuda/lib64 -L/opt/cuda/lib

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : lun. 19 août 2013, 15:34
par nonobecane
Merci Xorg,

En effet blender se lance bien avec

Code : Tout sélectionner

LD_LIBRARY_PATH=/opt/cuda/lib64:/opt/cuda/lib:$LD_LIBRARY_PATH optirun blender
Par contre, toujours aucune carte de reconnu pour le calcul.

Pour nvcc il faut définir un fichier d'entrée, j'ai essayé avec /opt/cuda/bin/nvcc.profile mais ce n'est pas ça.

C'est au dessus de mes compétences

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mar. 20 août 2013, 20:20
par nonobecane
Une légère avancée

je n'ai aucun fichier nvidia dans /dev

si je lance : # nvidia-xconfig --enable-all-gpus

au reboot suivant, je n'ai toujours pas de fichier nvidia dans /dev
mais lorsque je lance X, il plante évidemment car le fichier xorg.conf est celui de nvidia mais alors j'ai des fichiers dans /dev

Code : Tout sélectionner

ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195,   0 20 août  22:03 /dev/nvidia0
crw-rw-rw- 1 root root 195,   1 20 août  22:03 /dev/nvidia1
crw-rw-rw- 1 root root 195, 255 20 août  22:03 /dev/nvidiactl
J'ai tenté de compléter le fichier /etc/X11/xorg.conf en ajoutant :

Section "Device"
Identifier "Device2"
Driver "intel"
BusID "PCI:0:2:0"
EndSection

et en retirant les Section Screen

Mais sans succès

Visiblement cuda nécessite la présence des ces fichiers /dev/nvidia

Je suis preneur de vos idées
Merci

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mar. 20 août 2013, 20:41
par Ypnose
Cela n'avance pas le schmilblick, mais nvidia-xconfig génère un fichier xorg.conf. C'est tout simplement déprécié et dorénavant on stocke les règles Xorg dans /etc/X11/xorg.conf.d/.

Re: [Xorg] affichage iGPU intel et calcul Nvidia Cuda

Publié : mer. 21 août 2013, 07:43
par nonobecane
Ça y'est :bravo:

C'est du bricolage, mais ça marche.

En lançant au préalable

Code : Tout sélectionner

# nvidia-smi
cela crée les fichiers nvidia dans /dev
En root car sinon il ne me crée pas la 2nd carte, après je peux lancé nvidia-smi en tant qu'utilisateur, par exemple pour contrôler les températures ou l'utilisation mémoire pendant un rendu.

Je peux lancer alors blender avec ou sans optirun. Mes 2 cartes cuda sont bien reconnues et fonctionnelles.

Par contre, il semble y avoir un problème avec le driver intel.
Lorsque je connecte 2 écrans (sorties chipset), les applications utilisant OpenGL sont quasi inutilisable.
Par exemple avec glxspheres : OpenGL Renderer: Mesa DRI Intel(R) Haswell Desktop 0.103940 frames/sec - 0.115997 Mpixels/sec

La solution, trouvée ici http://blogs.operationaldynamics.com/pa ... ush_locked, est de lancé l'application comme suit :

Code : Tout sélectionner

$ LIBGL_ALWAYS_SOFTWARE=1 blender
ou

Code : Tout sélectionner

$ LIBGL_ALWAYS_SOFTWARE=1 optirun blender
glxspheres, lancé de cette façon donne alors : OpenGL Renderer: Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits) 38.767954 frames/sec - 43.265037 Mpixels/sec

Certainement à peaufiner et en espérant que cela puisse en aider d'autres
Merci à tous