[Résolu] Lenteur chargement initial affichage OpenGL

MarbolanGos
Messages : 341
Inscription : 26 octobre 2009, 19:03

[Résolu] Lenteur chargement initial affichage OpenGL

Message par MarbolanGos » 11 février 2015, 19:48

Bonjour à tous,

Je vais vous exposer un problème que j'ai à l'heure actuelle sur une machine « hyper puissante » pour faire du rendu graphique.
La configuration :
  • 32 coeurs (hyperthreading désactivé)
  • 1 TO de RAM
  • 2 K6000
  • Disques durs SSD en RAID 5 : les benchmarks donnent 2 GO/s en lecture et 1 GO/s en écriture
Les 4 sorties sont sur en DVI-DL sur une matrice Lightware pour sortir sur un projecteur 4K 120 Hz (4096*2160).
Le xorg.conf est configuré en SLI Mosaic avec Xinerama pour ne faire qu'un bureau.sur toute la résolution.
Pour information, j'ai de la stéréoscopie active (via câble de synchro) soit :

Code : Tout sélectionner

Option         "Stereo" "3"
La version de CentOS :

Code : Tout sélectionner

$ cat /etc/redhat-release 
CentOS release 6.6 (Final)
J'ai installé le dépôt NVIDIA CUDA :

Code : Tout sélectionner

$ cat /etc/yum.repos.d/cuda.repo
[cuda]name=cuda
baseurl=http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64
enabled=1
gpgcheck=1
gpgkey=http://developer.download.nvidia.com/compute/cuda/repos/GPGKEY
Soit d'installé :

Code : Tout sélectionner

$ rpm -qa | grep -i nvidia
xorg-x11-drv-nvidia-libs-340.29-1.el6.x86_64
xorg-x11-drv-nvidia-devel-340.29-1.el6.x86_64
nvidia-uvm-kmod-340.29-3.el6.x86_64
xorg-x11-drv-nvidia-libs-340.29-1.el6.i686
xorg-x11-drv-nvidia-gl-340.29-1.el6.x86_64
xorg-x11-drv-nvidia-gl-340.29-1.el6.i686
nvidia-kmod-340.29-2.el6.x86_64
xorg-x11-drv-nvidia-devel-340.29-1.el6.i686
xorg-x11-drv-nvidia-340.29-1.el6.x86_64
L'information sur la carte :

Code : Tout sélectionner

$ nvidia-smi 
Wed Feb 11 19:00:09 2015       
+------------------------------------------------------+                       
| NVIDIA-SMI 340.29     Driver Version: 340.29         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro K6000        Off  | 0000:04:00.0      On |                  Off |
| 27%   43C    P0    63W / 225W |    349MiB / 12287MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Quadro K6000        Off  | 0000:83:00.0     Off |                  Off |
| 28%   45C    P0    64W / 225W |    349MiB / 12287MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|  No running compute processes found                                         |
+-----------------------------------------------------------------------------+
Malgré une telle configuration, nous avons observé en premier sur un logiciel propriétaire (EnSight) des ralentissements pour afficher des données. Après pas mal de tests j'ai une idée qui viendrait d'un problème de lenteur de l'affichage OpenGL enfin au chargement parce que après c'est extrêmement fluide.

En effet, si je lance les exemples CUDA fournis tels que :

Code : Tout sélectionner

$ /usr/local/cuda/samples/5_Simulations/fluidsGL/fluidsGL
ou :

Code : Tout sélectionner

$ /usr/local/cuda/samples/5_Simulations/oceanFFT/oceanFFT
Il me faut bien 5-6 secondes pour afficher la fenêtre OpenGL. J'ai testé sur une machine (sous Windows 7) avec une K5000 et l'affichage se lance en moins d'une seconde...

Aussi, les tests de benchmark CUDA sont totalement corrects en bande passante. Le nombre de fps des tests une fois lancé dépasse les 1500 donc clairement la carte fonctionne...

Je sais que je suis sur un cas limite mais est-ce que vous auriez des idées de test ou de configuration ?
Merci !
Dernière modification par MarbolanGos le 03 mars 2015, 09:43, modifié 2 fois.
http://rarebril.com/blog
http://www.smolts.org/client/show/pub_d44745d4-fc38-4d31-a94c-499e6e1838ea

Beta-Pictoris
Messages : 1017
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Lanteur chargement initial affichage OpenGL

Message par Beta-Pictoris » 11 février 2015, 22:52

Des idées ?

Checker /var/log/messages (et Xorg.0.log) pendant le lancement des démos pour y trouver d'éventuels messages significatifs ?

Je suppose que le fichier xorg.conf a été généré avec la commande nvidia-xconfig ? http://man.cx/nvidia-xconfig%281%29
Il est possible de désactiver, une par une, certaines fonctionnalités (xinemara, la stereoscopie,...). Cela permettrait, déjà, de comprendre qui pourrait être responsable des ralentissements.

Tester avec un noyau linux plus récent ou avec une distribution plus récente ?

Le dépot elrepo fournit des noyaux 3.x pour la centos

Sinon, utiliser la dernière fedora qui reste une distribution proche de la centos. Cela permettrait de voir si des bibliothèques et un noyau plus récent peuvent avoir un impact sur les ralentissements.

MarbolanGos
Messages : 341
Inscription : 26 octobre 2009, 19:03

Re: Lenteur chargement initial affichage OpenGL

Message par MarbolanGos » 12 février 2015, 10:02

Bonjour,

Merci pour ta réponse. Cela croise pas mal de tests déjà effectué mais c'est vrai que j'ai pas redit.

Pour le Xorg.0.log, lors du lancement de fluidsGL :
[165414.634] AUDIT: Thu Feb 12 08:54:56 2015: 6450: client 31 connected from local host ( uid=502 gid=503 pid=13772 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 1300
[165414.634] AUDIT: Thu Feb 12 08:54:56 2015: 6450: client 31 disconnected
[165414.634] AUDIT: Thu Feb 12 08:54:56 2015: 6450: client 31 connected from local host ( uid=502 gid=503 pid=13772 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 1300
[165433.470] AUDIT: Thu Feb 12 08:55:15 2015: 6450: client 31 disconnected
Je vais enlever audit on ne sait jamais.

Pour la connectique, j'ai tenté de ne brancher qu'un câble en sortie en mettant le Xorg simplement en 2048x1080 sans stéréoscopie ni rien pareil.

Je suis un peu coincé avec CentOS car c'est la version compatible pour un logiciel utilisé (obligé d'avoir du RedHat ou du CentOS). Le kernel est :

Code : Tout sélectionner

# uname -a
Linux sinapse.ecp.fr 2.6.32-504.8.1.el6.x86_64 #1 SMP Wed Jan 28 21:11:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Il est vrai que j'hésite à mettre une Fedora qui serait plus à même d'être compatible avec un matériel aussi récent.

[edit]
Oublié de parler de SELinux, l'installateur me l'avait désactivé...

Code : Tout sélectionner

# sestatus 
SELinux status:                 disabled
Du coup j'avais pas changé.
http://rarebril.com/blog
http://www.smolts.org/client/show/pub_d44745d4-fc38-4d31-a94c-499e6e1838ea

Beta-Pictoris
Messages : 1017
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Lenteur chargement initial affichage OpenGL

Message par Beta-Pictoris » 12 février 2015, 19:07

Tu pourrais aussi vérifier les logs coté application en la lançant en mode verbose/debug si elle supporte l'option.

MarbolanGos
Messages : 341
Inscription : 26 octobre 2009, 19:03

Re: Lenteur chargement initial affichage OpenGL

Message par MarbolanGos » 03 mars 2015, 09:42

Je suis passé sous Ubuntu 14.04 (à mon grand désarroi) et ça fonctionne parfaitement. Je penche pour un problème de CentOS 6 qui est trop vieux. Je pourrais essayer C7 un jour mais là vu que ça tourne j'ai besoin de production.
http://rarebril.com/blog
http://www.smolts.org/client/show/pub_d44745d4-fc38-4d31-a94c-499e6e1838ea

tru
Messages : 216
Inscription : 20 octobre 2009, 09:30

Re: [Résolu] Lenteur chargement initial affichage OpenGL

Message par tru » 06 mars 2015, 23:59

tu pourrais comparer un "strace -tt /usr/local/cuda/samples/5_Simulations/fluidsGL/fluidsGL" sur les 2 OS pour essayer de voir d'où vient les 5 secondes ?

Répondre