Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
developpement:activites:qualification:30ans1code [2019/12/16 17:53]
equemene [Comparaison finale sur 30 de matériel]
developpement:activites:qualification:30ans1code [2019/12/17 10:52]
equemene
Ligne 14: Ligne 14:
  
 (détournement de Tolkien...) (détournement de Tolkien...)
 +
 ===== Résumé ===== ===== Résumé =====
  
Ligne 105: Ligne 106:
   * Multiplication des coeurs. Avant : les précédents. Après : le Northwood P4 et le AthlonX2   * Multiplication des coeurs. Avant : les précédents. Après : le Northwood P4 et le AthlonX2
   * Manipulation des GPU. Avant : tous les processeurs. Après : 10 ans d'​évolution de GPU et GPGPU.   * Manipulation des GPU. Avant : tous les processeurs. Après : 10 ans d'​évolution de GPU et GPGPU.
- 
- 
  
 === Conditions expérimentales et exécution du code === === Conditions expérimentales et exécution du code ===
Ligne 120: Ligne 119:
  
 En fonction de la performance et de la mémoire disponible dans chaque système. En fonction de la performance et de la mémoire disponible dans chaque système.
 +
 +=== Eléments de sortie ===
 +
 +Ces simulations ont pour objectif de "​montrer"​ quelle serait l'​apparence d'un disque d'​accrétion gravitant autour d'un trou noir. Cependant, ce n'est pas une mais deux images que nous allons synthétiser :
 +  * la première en **[https://​fr.wikipedia.org/​wiki/​D%C3%A9calage_vers_le_rouge|z]]**
 +  * la seconde en **[[https://​fr.wikipedia.org/​wiki/​Flux_lumineux|flux]]**
 +
 +Si le programme originel ne "​produit"​ qu'une image en niveaux de gris normalisés sur la valeur maximale, le programme en Python exploite des "​fausses couleurs"​ de manière équivalente à celle produite en avril dernier.
 +
 +Voici une image en **décalage spectral** en fausses couleurs, pour un observateur situé 10° au dessus du disque.
 +
 +{{ :​developpement:​activites:​qualification:​trounoirz_trajectopixel_device0_casimir_20191217_104144.png?​500 |}}
 +
 +Voici une image en **flux** dont l'​émission du disque est une **raie monochromatique** (une unique couleur).
 +
 +{{ :​developpement:​activites:​qualification:​trounoirf_trajectopixel_device0_casimir_20191217_104144.png?​500 |}}
 +
 +Voici une image en **flux** dont l'​émission est un **spectre de corps noir** (une distribution de couleurs).
 +
 +{{ :​developpement:​activites:​qualification:​trounoirf_trajectopixel_device0_casimir_20191217_104150.png?​500 |}} 
  
 === Intégration du calcul flottant dans le processeur === === Intégration du calcul flottant dans le processeur ===
Ligne 448: Ligne 467:
 Ainsi, nous pouvons, au travers de ces diverses simulations,​ identifier une troisième frontière. La première est la limite calculatoire (Compute-bound),​ la seconde est la limite d'​échange mémoire (Memory-bound),​ la troisième est la limite d'​échange périphérique (IO-bound). Ainsi, nous pouvons, au travers de ces diverses simulations,​ identifier une troisième frontière. La première est la limite calculatoire (Compute-bound),​ la seconde est la limite d'​échange mémoire (Memory-bound),​ la troisième est la limite d'​échange périphérique (IO-bound).
  
-==== Comparaison finale sur 30 de matériel ====+==== Comparaison finale sur 30 ans de matériel ​informatique ​==== 
 + 
 +Nous avions présenté, au début de notre analyse, la distribution des processeurs en fonction de leur année de sortie et de deux paramètres définissant chacun d'eux : leur nombre de transistors et leur fréquence. Cela nous avait permis de conclure que, finalement, nous disposions d'une bonne répartition permettant de revenir à la loi de Moore "​statique"​. Plus loin, nous nous étions rendu compte que, malgré la progression en nombre de transistors,​ nos performances n'​augmentaient pas en conséquence et qu'il fallait modifier le programme pour mieux en exploiter les transistors,​ répartis sur plusieurs coeurs : la parallélisation du code, d'​abord en OpenMP puis en OpenCL, a ainsi permis de largement mieux exploiter ces processeurs récents.
  
-Temps est venu de replacer ​tous nos processeurs et accélérateurs,​ toutes natures confondues, et de les replacer sur un unique graphique, mais en fonction de leur année de commercialisation.+Temps est venu de comparer ​tous nos 30 processeurs et accélérateurs,​ toutes natures confondues, et de les replacer sur un unique graphique, mais en fonction de leur année de commercialisation.
  
 {{ :​developpement:​activites:​qualification:​performancesyear_bb.png?​600 |}} {{ :​developpement:​activites:​qualification:​performancesyear_bb.png?​600 |}}
  
-Pour les simulations BB, Les triangles jaunes (programme OpenCL) se placent bien au dessus des carrés bleus (programme séquentiel) voire des losanges oranges (programme OpenMP). L'​échelle étant ​logatirthmique ​en ordonnée, nous voyons également émerger timidement quelques triangles verts (programme CUDA).+Pour les simulations BB, Les triangles jaunes (programme OpenCL) se placent bien au dessus des carrés bleus (programme séquentiel) voire des losanges oranges (programme OpenMP). L'​échelle étant ​logarithmique ​en ordonnée, nous voyons également émerger timidement quelques triangles verts (programme CUDA).
  
 {{ :​developpement:​activites:​qualification:​performancesyear_mono.png?​600 |}} {{ :​developpement:​activites:​qualification:​performancesyear_mono.png?​600 |}}
Ligne 460: Ligne 481:
 Pour les simulations Mono, la différence entre GPU et CPU est beaucoup plus marquée : les triangles verts (CUDA) se détachent beaucoup plus largement. Elément intéressant,​ ils assurent la continuité de progression en performance assurée, d'​abord par les processeurs monocoeur (de 1989 à 2004), puis les multicoeurs (jusqu'​à 2008) avant que les GPGPU (en OpenCL) ne proposent des performances supérieures. Pour les simulations Mono, la différence entre GPU et CPU est beaucoup plus marquée : les triangles verts (CUDA) se détachent beaucoup plus largement. Elément intéressant,​ ils assurent la continuité de progression en performance assurée, d'​abord par les processeurs monocoeur (de 1989 à 2004), puis les multicoeurs (jusqu'​à 2008) avant que les GPGPU (en OpenCL) ne proposent des performances supérieures.
  
-Ainsi, l'​exploitation du GPU a eu, dans l'​histoire de l'​informatique,​ le même caractère disruptif que l'​intégration systématique de l'​unité en virgule flottante dans les processeurs dès 1993.+Ainsi, l'​exploitation du GPU a eu, dans l'​histoire de l'​informatique,​ le même caractère ​"disruptif" ​que l'​intégration systématique de l'​unité en virgule flottante dans les processeurs dès 1993. Grâce à l'​exploitation de ces derniers, la loi de Moore "​dynamique"​ (celle sur une performance mesurée) reste encore valable
developpement/activites/qualification/30ans1code.txt · Dernière modification: 2019/12/17 15:34 par equemene