DXO extraordinairement lent

Démarré par Lesage, Juillet 24, 2014, 21:25:05

« précédent - suivant »

gerarto

Citation de: jean-fr le Août 08, 2014, 17:21:16

Mais du coup, je vais essayer de trouver les logs dont parle Gerarto parce que j'aimerai bien booster
un peu DxO.
Par exemple, quand je veux évaluer un réglage, j'aime bien quand "ça" réagit aussitôt à l'écran.

CPU ou GPU ? je ne sais pas trop.

Sous Windows, c'est dans le répertoire (utilisateur)/Mes documents/DxO Optics Pro v9 logs, si l'install a été faite par défaut.
Sous Mac, je laisse la parole aux spécialistes...

On y trouve le fichier journal : DXOOpticsPro.txt
Avec des infos du type :
----
2014-08-07 11:24:30.938 | 6552 - 1 | DxOFramework - Info | Device 0 : OpenCL-capable GPU
2014-08-07 11:24:30.938 | 6552 - 1 | DxOFramework - Info | Device 8 : OpenCL-capable GPU
2014-08-07 11:24:30.987 | 6552 - 1 | DxOFramework - Info | OpenCL activated on device 0 [AMDAcceleratedParallelProcessing-Barts-1124.2(VM) - c8532b767685db550f77aed5439ea2d3]
----
2014-08-07 11:24:31.472 | 6552 - 4 | OpticsPro - Info | GPU Acceleration : ON
2014-08-07 11:24:31.472 | 6552 - 4 | OpticsPro - Info | OpenCl Processing : ON
----

Cela étant dit, ce n'est qu'un fichier journal qui donne les infos relevées, tu ne pourras jamais modifier quoi que ce soit dans ce fichier qui puisse avoir une quelconque action sur DxO.

La seule possibilité d'intervenir, c'est dans la boîte de dialogue Préférences, onglet Performances ou tu peux activer ou non l'accélération GPU et l'Open CL... si DxO a jugé que c'était possible ET plus rapide !

Edit : doublon avec titroy...

parkmar

Quand il y a eu les problèmes de lenteur (voir ci-dessus mes informations), DxO m'avait demandé de leur transmettre "mes logs"! après quelques tatonnements et aidé par eux (pas doué en informatique et des connaissances plus que modestes), j'ai réussi à les leur faire parvenir! l'analyse de ces logs leur a-t-elle permis de trouver ce qui ralentissait l'ouverture des fichiers? A en juger par le résultat positif, c'est possible!

fabco

Les fichiers log ne sont fait que pour voir le déroulement de traitement dans dop.
Grâce à ces fichiers, les ingénieurs de dxo peuvent déduire pouquoi le fonctionnement de dop n'est pas correct sur une machine.
En aucun cas tu ne pourras pas accélérer le traitement pour cela il faut intervenir sur le logiciel lui-même si cela est possible.


jean-fr

Citation de: fabco le Août 08, 2014, 19:52:21
Les fichiers log ne sont fait que pour voir le déroulement de traitement dans dop.
Grâce à ces fichiers, les ingénieurs de dxo peuvent déduire pouquoi le fonctionnement de dop n'est pas correct sur une machine.
En aucun cas tu ne pourras pas accélérer le traitement pour cela il faut intervenir sur le logiciel lui-même si cela est possible.

Bien sûr, un log c'est ... un log.

Pour ma part, je n'arrive pas à trouver ce fichier de log sur Mac OS X.
Sinon, j'aimerai savoir comment booster DxO et je n'arrive pas à trouver d'infos précises.
Bref, que faut-il privilégier ? CPU ? ou carte graphique et là encore, que privilégier sur la carte ? la mémoire, le nombre de CUDA cores ... etc ?

THG

Penser que l'exploitation du GPU est une solution miraculeuse qui va booster les performances du logiciel d'un claquement doigts est totalement illusoire. Adopter cette solution, c'est également être confronté à des difficultés techniques qui obligent à trouver un "trade-off" ou, en bon français, un certain nombre de compromis, entre les gains possibles et le prix à payer pour y arriver.

jean-fr

Citation de: THG le Août 09, 2014, 09:38:06
Penser que l'exploitation du GPU est une solution miraculeuse qui va booster les performances du logiciel d'un claquement doigts est totalement illusoire.
Qui a parlé de solution miraculeuse ?

Le GPU est-il, oui ou non utilisé par DxO ?
Si oui, en quoi est-il illusoire que de vouloir  en faire bénéficier sa config ?

Citation de: THG le Août 09, 2014, 09:38:06

Adopter cette solution, c'est également être confronté à des difficultés techniques qui obligent à trouver un "trade-off" ou, en bon français, un certain nombre de compromis, entre les gains possibles et le prix à payer pour y arriver.

merci pour la traduction "trade-off"/"compromis" mais sinon ?

gerarto

Citation de: jean-fr le Août 09, 2014, 09:56:52

...
Le GPU est-il, oui ou non utilisé par DxO ?
Si oui, en quoi est-il illusoire que de vouloir  en faire bénéficier sa config ?
...

Alors, ça c'est une bonne question, je vous remercie de l'avoir posée...

Plus sérieusement :

Sous Windows, oui !
A condition d'être conforme aux spécifications de DxO que voici :

• Carte graphique :
Pour la prise en charge de l'accélération GPU :
- Une carte graphique supportant DirectX 9.0c est nécessaire.
- 512 Mo de mémoire vidéo (VRAM) sont recommandés.
Pour la prise en charge de l'accélération OpenCL :
- NVIDIA GeForce 460 ou supérieure
- ATI Radeon HD 58xx ou supérieure


Sous OSX... alors là j'ai un gros doute - mais je ne suis absolument pas spécialiste ni utilisateur de Mac.
En effet, les spécifications mentionnent ceci :

• Carte graphique : 512 Mo de mémoire vidéo sont recommandés pour la prise en charge de l'accélération GPU.

Ce qui laisserait penser - sous toutes réserves - que seule l'accélération de l'affichage serait possible, pas le traitement.

jean-fr

Citation de: gerarto le Août 09, 2014, 11:01:29
Alors, ça c'est une bonne question, je vous remercie de l'avoir posée...

Plus sérieusement :

Sous Windows, oui !
A condition d'être conforme aux spécifications de DxO que voici :

• Carte graphique :
Pour la prise en charge de l'accélération GPU :
- Une carte graphique supportant DirectX 9.0c est nécessaire.
- 512 Mo de mémoire vidéo (VRAM) sont recommandés.
Pour la prise en charge de l'accélération OpenCL :
- NVIDIA GeForce 460 ou supérieure
- ATI Radeon HD 58xx ou supérieure


Sous OSX... alors là j'ai un gros doute - mais je ne suis absolument pas spécialiste ni utilisateur de Mac.
En effet, les spécifications mentionnent ceci :

• Carte graphique : 512 Mo de mémoire vidéo sont recommandés pour la prise en charge de l'accélération GPU.

Ce qui laisserait penser - sous toutes réserves - que seule l'accélération de l'affichage serait possible, pas le traitement.


Merci Gerarto.
Je vais installer un Windows sur mon hackintosh ... et voir si l'utilisation de OpenCL sur Windows
permet d'avoir des perfs supérieures à celles sur Mac OS X.


THG

Il suffit de relire les posts de certains ici pour constater que beaucoup s'attendent à des miracles lorsque l'exploitation du GPU est activée, mais les bricoles  - genre Win sur Hackintosh  ::) - n'y changeront pas grand chose.

Il y a effectivement un problème de lenteur de chargement d'images et de contenu de dossiers dans certains cas, les équipes de développement le savent et travaillent sur une optimisation des performances.

jean-fr

Citation de: THG le Août 09, 2014, 11:41:09
Il suffit de relire les posts de certains ici pour constater que beaucoup s'attendent à des miracles lorsque l'exploitation du GPU est activée, mais les bricoles  - genre Win sur Hackintosh  ::) - n'y changeront pas grand chose.


::)

Un Hackintosh c'est un PC. Installer Windows sur un PC ne me semble pas relever d'une bricole.
Tu vois un inconvénient à ce que je compare les perfs respectives MAC OS X / Windows de Dxo sur la même machine et
que je poste un retour ici ?

titroy

Petite précision : l'accélération gpu n'est pas utilisée lors de l'exportation,  opencl oui.

Johnny D

Un tableau que j'ai présenté plusieurs fois:

"Running the test data set on up to 4 CPU cores and on up to 1 GPU

CPU only (1 core): 4.89 MPix/sec
CPU only (2 cores): 9.74 MPix/sec
CPU only (3 cores): 13.7 MPix/sec
CPU only (4 cores): 16.5 MPix/sec
GPU only (AMD Radeon R9 200 Series): 51.6 MPix/sec
CPU (1 core) and GPU (AMD Radeon R9 200 Series): 51.6 MPix/sec
CPU (2 cores) and GPU (AMD Radeon R9 200 Series): 51 MPix/sec
CPU (3 cores) and GPU (AMD Radeon R9 200 Series): 54.8 MPix/sec
CPU (4 cores) and GPU (AMD Radeon R9 200 Series): 58 MPix/sec

Best combination: CPU (4 cores) and GPU (AMD Radeon R9 200 Series)"

C'est le benchmark de ma combinaison PC calculée par un logiciel de traitement du bruit pour définir quelle serait la meilleure combinaison possible en terme de rapidité de traitement image.
Sans surprise ce sont les 4 cores du CPU combinés au GPU. Mais on peut voir que le GPU seul est x3 fois plus rapide que le CPU qui est loin d'être une tortue!


cote d opale

Citation de: cassenoisettes le Août 07, 2014, 21:48:23
la version build 308 est dispo et marche bien chez moi ;) contrairement à la 252

Pas eu de réponse de DxO ,
suis passé à la 308 : ça semble mieux !

parkmar

La version dont ils m'ont mis le lien est bien la 308! Elle fonctionne parfaitement.

jean-fr

Citation de: Johnny D le Août 09, 2014, 13:34:35
Un tableau que j'ai présenté plusieurs fois:

"Running the test data set on up to 4 CPU cores and on up to 1 GPU

CPU only (1 core): 4.89 MPix/sec
CPU only (2 cores): 9.74 MPix/sec
CPU only (3 cores): 13.7 MPix/sec
CPU only (4 cores): 16.5 MPix/sec
GPU only (AMD Radeon R9 200 Series): 51.6 MPix/sec
CPU (1 core) and GPU (AMD Radeon R9 200 Series): 51.6 MPix/sec
CPU (2 cores) and GPU (AMD Radeon R9 200 Series): 51 MPix/sec
CPU (3 cores) and GPU (AMD Radeon R9 200 Series): 54.8 MPix/sec
CPU (4 cores) and GPU (AMD Radeon R9 200 Series): 58 MPix/sec

Best combination: CPU (4 cores) and GPU (AMD Radeon R9 200 Series)"

C'est le benchmark de ma combinaison PC calculée par un logiciel de traitement du bruit pour définir quelle serait la meilleure combinaison possible en terme de rapidité de traitement image.
Sans surprise ce sont les 4 cores du CPU combinés au GPU. Mais on peut voir que le GPU seul est x3 fois plus rapide que le CPU qui est loin d'être une tortue!

Merci Johnny D.

Est-ce que la "réactivité" est aussi améliorée avec le GPU ? (si je joue avec des curseurs - accentuation, vibrance, ..., l'image affichée
reflète-t-elle plus rapidement les modifications ?).
Car c'est plus ça qui m'intéresse que le gain de vitesse en batch (mais cela va peut-être ensemble).

Johnny D

Pour la réactivité de l'image aux modifications je croit qu'on peut répondre oui. Dans mon cas c'est instantané (sauf PRIME). J'ai aussi DXO sur un portable et c'est nettement moins véloce!


titroy

Citation de: Johnny D le Août 14, 2014, 23:08:11
Pour la réactivité de l'image aux modifications je croit qu'on peut répondre oui. Dans mon cas c'est instantané (sauf PRIME). J'ai aussi DXO sur un portable et c'est nettement moins véloce!


C'est assurément oui !
L'accélération Gpu n'est utilisée que dans la phase des ajustements tandis que opencl n'est utilisé que pour l'exportation.

Et pour finir,  si la carte est éligible opencl, et que cette option est cochée, Dxo n'utilisera que cette fonction pour l'exportation, d'où l'intérêt,  dans ce cas, d'avoir une CG plus performante que la Cpu.

macfred26

Par contre faudra que je test de décocher l'accélération GPU car j'utilise un imac 27 de 2009 et pas sur que ce sois si bien que ça .Actuellement j'ai cocher l'accélération et mis 1 image a traiter en simultané

jean-fr

Ah ... c'est intéressant de savoir ça parce que le temps d'exportation, je m'en fous un peu (je ne suis pas pressé).
Par contre, la réactivité des réglages, ça j'aime bien pour voir en "temps-réel" l'impact du réglage.

Cela dit, je ne suis pas sûr de saisir la différence entre accélération GPU et OpenCL, les deux étant liés
au processeur graphique.
Est-ce que accélération GPU = OpenGL (avec un "G") ?

Lesage

Version 9.5.1 Build 308 -> problème réglé  :)

SuBWaReZ

Citation de: jean-fr le Août 15, 2014, 10:07:33
Cela dit, je ne suis pas sûr de saisir la différence entre accélération GPU et OpenCL, les deux étant liés
au processeur graphique.
Est-ce que accélération GPU = OpenGL (avec un "G") ?
C'est parce qu'il n'y en a pas, l'accélération GPU utilise OpenCL. C'est juste le nom de la techno pour utiliser les ressources GPU.

Citation de: Lesage le Août 17, 2014, 10:18:50
Version 9.5.1 Build 308 -> problème réglé  :)
Ou avez vous trouvez cette build? Moi je suis en sous 9.5.1 build 121 (OS X) et la recherche de mise a jour me dit que je suis à jour.

jean-fr

Citation de: SuBWaReZ le Août 17, 2014, 12:04:37
C'est parce qu'il n'y en a pas, l'accélération GPU utilise OpenCL. C'est juste le nom de la techno pour utiliser les ressources GPU.

Euh mais alors que signifie cette phrase de titroy :

Citation de: titroy le Août 14, 2014, 23:29:14

L'accélération Gpu n'est utilisée que dans la phase des ajustements tandis que opencl n'est utilisé que pour l'exportation.

Si (comme tu le dis) accélération GPU => utilisation de OpenCL, je ne comprends plus ce que dit titroy

titroy

#97
Citation de: jean-fr le Août 17, 2014, 12:14:18
Euh mais alors que signifie cette phrase de titroy :
Si (comme tu le dis) accélération GPU => utilisation de OpenCL, je ne comprends plus ce que dit titroy

Une petite mise au point s'impose  ;)
Pour faire court (très) et de façon très simplifiée : on utilise la puissance et les performances de la CG pour 2 grandes raisons et avec des objectifs différents.

1/ Les logiciels font appel aux fonctions dédiées de la CG pour accélérer l'affichage des images fixes ou non (vidéo, jeux...) suite à des ajustements, modifications.... (par exemple : redimensionner, bordures, rafraîchir l'image... mais pas seulement).
Ces fonctions étant conçues et spécifiques aux CG, elles sont naturellement très performantes.

Les browser (FF, IE..) peuvent également faire appel à la CG  pour accélérer les affichages. (en général, c'est paramétrable, tout comme dans Dxo).

Donc en cochant la case 'accélération Gpu', on autorise le logiciel DxO à utiliser les fonctions dédiées de la CG pour les affichages. (module 'personnalisation'). La carte n'est pas forcément éligible opencl car on n'utilise pas, ici et dans ce cas, les spécificités de l'opencl.

2/ Les CG, dans certains cas, ont une puissance supérieure à la CPU du PC (cela dépend bien évidemment de chaque configuration et de la CG : éligible ou non à l'opencl : c'est d'ailleurs pour cette raison, que DxO recommande d'avoir un driver mis à jour, le support de opencl étant apporté par celui ci).

D'où l'idée, de faire exécuter son propre code par la CG plutôt que par la CPU pour gagner en performance ( vs la CPU du PC.).

Donc en cochant la case 'opencl', on autorise le logiciel DxO à faire exécuter le code lié, cette fois, à l'exportation.

Il faut se rappeler également que l'on ne cumule pas les performances de la CPU du PC et la CG : lorsque la case est cochée, tout le code est exécuté par la CG et inversement.

Encore un rappel : indépendamment de la puissance de la CG, toutes les CG ne sont pas éligibles à l'opencl. (les plus anciennes notamment et les moins performantes). Dans ce cas le choix est vite fait et ne dépend plus de la puissance : seule la CPU peut être utilisée.   

Alors oui, dans les 2 cas d'utilisation on utilise les performances de la CG mais de façons diffèrentes.

Ai je été plus clair ?  ;) (attention : il ne s'agit pas ici de définir à la lettre le fonctionnement d'une CG, du driver.. juste les principes)

titroy

Pour faire plus court  ;D :

- Accélération Gpu cochée ; on autorise DxO à faire appel aux fonctions dédiées de la CG pour l'affichage (en phase de personnalisation).

- Opencl :
Dxo a vérifiée au lancement 2 points pour autoriser cette fonction : la CG et le driver sont éligibles à l'opencl (c'est bien sûr un prérequis) ET la CG est plus performante que la CPU (dans le cas contraire, ce serait bien évidemment un non sens).
Donc avec une CPU très musclée et une CG 'moyenne', la fonction reste grisée.

DxO fait alors exécuter le code de l'exportation intégralement par la CG. 

jean-fr

Citation de: titroy le Août 17, 2014, 14:37:42
Pour faire plus court  ;D :

- Accélération Gpu cochée ; on autorise DxO à faire appel aux fonctions dédiées de la CG pour l'affichage (en phase de personnalisation).

- Opencl :
Dxo a vérifiée au lancement 2 points pour autoriser cette fonction : la CG et le driver sont éligibles à l'opencl (c'est bien sûr un prérequis) ET la CG est plus performante que la CPU (dans le cas contraire, ce serait bien évidemment un non sens).
Donc avec une CPU très musclée et une CG 'moyenne', la fonction reste grisée.

DxO fait alors exécuter le code de l'exportation intégralement par la CG. 
C'est (presque) très clair.  ;)

Mais je voudrais quand même savoir quel est le nom de l'API utilisée lorsque l'accélération GPU est cochée. Tu parles
de fonctions dédiées de la carte graphique mais j'imagine qu'il y a une API standard également.
Merci pour ta patience  ;)