12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Jaromír BRAMBOR9.7. RÉCAPITULATIONvoi <strong>de</strong> comman<strong>de</strong>s qui comptent peu <strong>de</strong> triangles, cet fait étant mentionné dans <strong>la</strong> présentation <strong>de</strong>Wloka Wlo03 . Le test que nous effectuons ici semble convenable <strong>pour</strong> cette démonstration. Nous y envoyons1 rectangle (qui est constitué <strong>de</strong> 2 triangles), il suffirait <strong>de</strong> comparer les fps obtenus <strong>pour</strong> les <strong>de</strong>uxsystèmes d’exploitation.Nous remarquons que ce type <strong>de</strong> travail n’est pas propre à l’utilisation habituelle <strong>de</strong>s GPU car ces<strong>de</strong>rniers ne sont pas conçus <strong>pour</strong> un travail à une fréquence élevée d’affichage dans le framebuffer maisils sont conçus <strong>pour</strong> les algorithmes qui se présentent par <strong>de</strong>s taux <strong>de</strong>s fps moindres à 100, le nombrepropre à <strong>la</strong> fréquence <strong>de</strong> rafraîchissement <strong>de</strong>s trames <strong>pour</strong> <strong>la</strong> visualisation.Les résultats nous révèlent trois idées principales :• Il est à recomman<strong>de</strong>r <strong>de</strong> travailler avec une application qui fonctionne en régime plein écran (cf.les colonnes Plein écran dans <strong>la</strong> tab. 9.2). Dans le cas opposé où nous travaillerons dans unefenêtre <strong>de</strong> système d’exploitation (ou <strong>de</strong> système <strong>de</strong> fenêtres dans le cas <strong>de</strong> Linux), les taux <strong>de</strong> fpschuteraient d’une manière significative (cf. les colonnes Fenêtre dans <strong>la</strong> tab. 9.2).• On peut percevoir une certaine supériorité <strong>de</strong>s résultats <strong>pour</strong> Linux et le pilote du processeur <strong>pour</strong>OpenGL en terme <strong>de</strong> fps qui sont plus gran<strong>de</strong>s que celles <strong>pour</strong> Windows et DirectX. Mais noustrouvons également le cas contraire, notamment les valeurs <strong>de</strong> fps <strong>pour</strong> les images <strong>de</strong> 3 Mo lorsd’un remplissage par <strong>la</strong> couleur variante en plein écran. Il faut souligner que les résultats <strong>de</strong>s<strong>de</strong>ux API ne sont pas excessivement différents et nous ne pouvons pas faire une recommandationd’utilisation d’un API plutôt que <strong>de</strong> l’autre. De plus, ces résultats étant fortement dépendants <strong>de</strong> <strong>la</strong>version du pilote, ils peuvent varier fortement d’une version à l’autre.• Le fait d’avoir ajouté au traitement <strong>de</strong> base l’interpo<strong>la</strong>tion <strong>de</strong>s couleurs se manifeste par une diminution<strong>de</strong>s fps al<strong>la</strong>nt dans certains cas jusqu’à 2 fois (Linux, Plein écran, 4 Mo). Sachant que cetest <strong>de</strong>vait démontrer les capacités d’interpo<strong>la</strong>tion <strong>de</strong>s valeurs (nous visons prioritairement l’interpo<strong>la</strong>tion<strong>de</strong>s coordonnées <strong>de</strong>s in<strong>de</strong>x <strong>de</strong> textures lors du travail avec 4 textures, sans avoir effectuél’échantillonnage), les résultats sont plutôt décevants car lors du travail avec les algorithmes <strong>de</strong>traitement d’images, nous allons encore ajouter aux temps qui correspon<strong>de</strong>nt à ces fps <strong>la</strong> durée <strong>de</strong>sopérations <strong>de</strong> traitement <strong>de</strong>s fragments (échantillonnage, opérations arithmétiques, etc.).9.7 Récapitu<strong>la</strong>tionCe petit chapitre <strong>de</strong>vait nous servir à introduire <strong>de</strong>s techniques <strong>pour</strong> <strong>la</strong> <strong>de</strong>scription <strong>de</strong> <strong>la</strong> complexité<strong>de</strong>s algorithmes. Nous y avons présenté, sur un exemple pratique <strong>pour</strong> les GPP/GPPMM les phénomènesque nous <strong>de</strong>vons assumer si nous voulons passer <strong>de</strong> l’expression théorique <strong>de</strong> <strong>la</strong> complexité à l’ai<strong>de</strong><strong>de</strong> O() à une estimation pratique du coût d’un algorithme, qui est, dans notre cas, prioritairement lié àl’expression du temps du calcul.Cette estimation pratique n’est pas simple et est fortement liée à une architecture donnée mais également,comme nous l’avons présenté dans 9.4.2, page 180, à d’autres facteurs qui ne sont pas a priori aussiévi<strong>de</strong>nt à assumer, comme les dimensions re<strong>la</strong>tives d’une image et <strong>de</strong> <strong>la</strong> mémoire cache <strong>de</strong> l’architecture.L’estimation pratique <strong>de</strong>s performances <strong>de</strong>s algorithmes <strong>pour</strong> les GPU est encore plus délicate. Pourpouvoir obtenir <strong>de</strong>s estimations fiables, on <strong>de</strong>vrait prendre en compte beaucoup <strong>de</strong> paramètres. De ces<strong>de</strong>rniers, nous avons présenté en particulier le temps <strong>de</strong> transfert <strong>de</strong> données et <strong>la</strong> possible influence dusystème d’exploitation et <strong>de</strong> l’interface <strong>de</strong> programmation (l’API) que nous utilisons <strong>pour</strong> exécuter noscomman<strong>de</strong>s graphiques. Remarquons que <strong>pour</strong> un programme donné et <strong>pour</strong> un processeur graphiquedonné, les outils <strong>de</strong> développement <strong>de</strong> NVidia permettent <strong>de</strong> calculer avec précision le nombre <strong>de</strong> cyclesque les programmes <strong>pour</strong> les vertex et <strong>pour</strong> les fragments sont censés consommer. Mais il ne s’agit que <strong>de</strong><strong>de</strong>ux <strong>de</strong>s unités du pipeline graphique et il n’existe pas une métho<strong>de</strong> <strong>pour</strong> pré-évaluer les performancesdu pipeline graphique dans son entier.Même dans <strong>la</strong> littérature portant sur le GPGPU, nul ne présente les estimations <strong>de</strong> <strong>la</strong> performance<strong>pour</strong> les algorithmes <strong>pour</strong> les GPU. C’est dû au caractère <strong>de</strong>s données, dépendantes <strong>de</strong> l’interaction avecl’utilisateur, qui sont traitées dans <strong>la</strong> synthèse d’images. Par conséquent, il n’est pas possible <strong>de</strong> prévoir187

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!