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
Dernière révision Les deux révisions suivantes
developpement:activites:qualification:c4140 [2019/07/31 17:16]
equemene
developpement:activites:qualification:c4140 [2019/08/02 16:37]
equemene
Ligne 1: Ligne 1:
 ====== Le C4140 : la puissance de 1 baie dans 1U, et de quoi effacer les autres C41 ====== ====== Le C4140 : la puissance de 1 baie dans 1U, et de quoi effacer les autres C41 ======
  
-{{:​developpement:​activites:​qualification:​surveyc4140_fp3264.png?​300 |}} {{ :​developpement:​activites:​qualification:​surveyc4140_applications.png?​300|}}+En un coup d'​oeil,​ la comparaison de performance entre la Nvidia Tesla V100, le Dell C4140 qui en possède quatre et un noeud de calcul traditionnel. 
 + 
 +{{ :​developpement:​activites:​qualification:​surveyc4140_fp3264.png?​600|}} 
 + 
 +{{ :​developpement:​activites:​qualification:​surveyc4140_applications.png?​600|}}
  
 ===== Introduction ===== ===== Introduction =====
  
-Tester ​toute à la fois la successeure de la Nvidia Tesla P100 et le nouveau "​noeud"​ GPU de Dell, tel était l'​objectif de cette mise à disposition par l'​intégrateur. Nous verrons que la Tesla V100 est bien le "​monstre"​ que certains ont déjà pu manipuler en France depuis 2 ans. Cependant, avec son intégration dans le C4140 qui en héberge 4, c'est un sacré budget qu'il faut débourser pour s'​offrir la machine la plus puissante qu'il m'ait été donné de tester. Encore faut-il en avoir l'​usage face aux autres solutions du marché. C'est ce que nous allons explorer...+Tester ​tout à la fois la successeure de la Nvidia Tesla P100 et le nouveau "​noeud"​ GPU de Dell, tel était l'​objectif de cette mise à disposition par l'​intégrateur. Nous verrons que la Tesla V100 est bien le "​monstre"​ que certains ont déjà pu manipuler en France depuis 2 ans. Cependant, avec son intégration dans le C4140 qui en héberge 4, c'est un sacré budget qu'il faut débourser pour s'​offrir la machine la plus puissante qu'il m'ait été donné de tester. Encore faut-il en avoir l'​usage face aux autres solutions du marché. C'est ce que nous allons explorer...
  
 ===== Un peu d'​histoire ===== ===== Un peu d'​histoire =====
Ligne 15: Ligne 19:
 Il y a 6 ans, je recevais en test pour la première fois un C410X et son fidèle Robin (ou Batman, tout dépend de quel côté on se place) C6100. La machine était impressionnante : dans 3U, la possibilité de mettre 16 GPGPU. A l'​époque,​ Nvidia, dans sa génération Fermi, "​offrait"​ 3 solutions : les Tesla M2050, Tesla M2070 et Tesla M2090. Des cartes comparables,​ essentiellement différentes par le nombre de cudacores (448 pour les deux premières) et 512 pour la dernière, des fréquences légèrement différentes également (de 1150 à 1300 MHz). Déjà, à l'​époque,​ nous avions pu "​juger"​ de l'​opacité des tarifs de Nvidia (3GB de RAM à 400$). ​ Il y a 6 ans, je recevais en test pour la première fois un C410X et son fidèle Robin (ou Batman, tout dépend de quel côté on se place) C6100. La machine était impressionnante : dans 3U, la possibilité de mettre 16 GPGPU. A l'​époque,​ Nvidia, dans sa génération Fermi, "​offrait"​ 3 solutions : les Tesla M2050, Tesla M2070 et Tesla M2090. Des cartes comparables,​ essentiellement différentes par le nombre de cudacores (448 pour les deux premières) et 512 pour la dernière, des fréquences légèrement différentes également (de 1150 à 1300 MHz). Déjà, à l'​époque,​ nous avions pu "​juger"​ de l'​opacité des tarifs de Nvidia (3GB de RAM à 400$). ​
  
-Le C410X était un boitier à l'​alimentation autonome, effroyablement bruyant, disposant de 8 entrées/​sorties PCIe. Dans la lignée du S0170 de Nvidia et sa liaison PCI Express sortante, Dell souhaitait offrir à ses clients une solution polyvalente permettant d'​associer des GPGPU à des serveurs, pour tirer profit des (rares) codes de l'​époque supportant le multi-gpu. Au final et malgré de nombreux tests, je n'ai disposé que de systèmes particulièrement instables, aux connecteurs très sensibles, avec souvent ​la nécessité, en cas de plantage d'un serveur avec un GPU, de redémarrer l'​ensemble des 4 serveurs pour à nouveau réinitialiser toutes les cartes. Certes, ​Le matériel mis à disposition avait beaucoup voyagé, avait été largement démonté (voire dépouillé) de certains composants. Cependant, après de longues heures de mise à jours de tous les composants, il était possible de disposer d'un système exploitable,​ mais uniquement avec des cartes M2070 et M2090.+Le C410X était un boitier à l'​alimentation autonome, effroyablement bruyant, disposant de 8 entrées/​sorties PCIe. Dans la lignée du S0170 de Nvidia et sa liaison PCI Express sortante, Dell souhaitait offrir à ses clients une solution polyvalente permettant d'​associer des GPGPU à des serveurs, pour tirer profit des (rares) codes de l'​époque supportant le multi-gpu. Au final et malgré de nombreux tests, je n'ai disposé que de systèmes particulièrement instables, aux connecteurs très sensibles ​; il était ​souvent ​nécessaire, en cas de plantage d'un serveur avec un GPU, de redémarrer l'​ensemble des 4 serveurs pour à nouveau réinitialiser toutes les cartes. Certes, ​le matériel mis à disposition avait beaucoup voyagé, avait été largement démonté (voire dépouillé) de certains composants. Cependant, après de longues heures de mise à jour de tous les composants, il était possible de disposer d'un système exploitable,​ mais uniquement avec des cartes M2070 et M2090.
  
-L'​effroyable point faible du C410X ne nous fut révélé que quelques mois plus tard lorsque Nvidia sortit ses premiers circuits Kepler pour le calcul, avec les séries K20 et K40. Alors qu'il était tout à fait possible de rendre opérationnelle une Tesla K20 dans un logement de C410X, ce fut malheureusement la dernière. La K40 de format comparable n'​était pas reconnue et la K80 ne disposait pas de l'​alimentation suffisante. Autre souci de taille, la concurrence : déjà, à l'​époque,​ certains codes de calcul se satisfaisaient "très bien" de la simple précision ; ainsi, les cartes de Gamer (GTX 780 en tête) offraient un rapport performance/​prix très supérieur aux modèles Tesla (de l'​ordre de 5 pour 1). Pour finir sur le bilan du C410X, il y avait une limitation qui, finalement, balayait tout l'​intérêt de l'​objet : la possibilité de pouvoir associer tel au tel GPGPU à telle ou telle machine. En fait, la matrice d'​association noeud/GPGPU n'​offre que quelques possibilités et cela passe nécessairement par une arrêt complet et un redémarrage de toute l'​infrastructure : IPMI devient alors le commis indispensable pour son exploitation.+L'​effroyable point faible du C410X ne nous fut révélé que quelques mois plus tard lorsque Nvidia sortit ses premiers circuits Kepler pour le calcul, avec les séries K20 et K40. Alors qu'il était tout à fait possible de rendre opérationnelle une Tesla K20 dans un logement de C410X, ce fut malheureusement la dernière. La K40 de format comparable n'​était pas reconnue et la K80 ne disposait pas de l'​alimentation suffisante. Autre souci de taille, la concurrence : déjà, à l'​époque,​ certains codes de calcul se satisfaisaient "très bien" de la simple précision ; ainsi, les cartes de Gamer (GTX 780 en tête) offraient un rapport performance/​prix très supérieur aux modèles Tesla (de l'​ordre de 5 pour 1). Pour finir sur le bilan du C410X, il y avait une limitation qui, finalement, balayait tout l'​intérêt de l'​objet : la possibilité de pouvoir associer tel ou tel GPGPU à telle ou telle machine. En somme, la matrice d'​association noeud/GPGPU n'​offre que quelques possibilités et cela passe nécessairement par une arrêt complet et un redémarrage de toute l'​infrastructure : IPMI devient alors le commis indispensable pour son exploitation.
  
 Après 6 ans et une escapade grenobloise,​ le C410x et son fidèle C6100 sont revenus au Centre Blaise Pascal. Longtemps équipé de seulement deux Tesla K20 et deux faux jumeaux M2070 et M2090, elle s'est vue amendée de 4 nouvelles cartes déclassées par le centre de calcul. Sa stabilité reste précaire mais suffisante pour de petites tâches, tant que les circuits Fermi les supportent. Après 6 ans et une escapade grenobloise,​ le C410x et son fidèle C6100 sont revenus au Centre Blaise Pascal. Longtemps équipé de seulement deux Tesla K20 et deux faux jumeaux M2070 et M2090, elle s'est vue amendée de 4 nouvelles cartes déclassées par le centre de calcul. Sa stabilité reste précaire mais suffisante pour de petites tâches, tant que les circuits Fermi les supportent.
Ligne 23: Ligne 27:
 ==== Le C4130, et le malheur du Xeon Phi ==== ==== Le C4130, et le malheur du Xeon Phi ====
  
-Conscient que les liens externes PCIe ne posaient ​que des difficultés,​ et que le contrôle de la matrice noeud/GPU n'​était pas assez "​granulée",​ Dell a proposé son C4130 : une machine bi-socket, 1U, équipée directement de 4 GPU (ou 4 Xeon Phi Knight Corner). J'ai alors reçu en test la version équipée de (seulement) 2 Xeon Phi. Evidemment, l'​intégration ne permettait aucune fantaisie sur les accélérateurs possibles : la matrice de compatibilité était d'une pauvreté assez accablante. Dans cette approche, la difficulté de prise en main était plutôt à imputer à Intel et son accélérateur si difficilement exploitable qu'il en devient inutilisable. Pour exploiter un Xeon Phi, il fallait déjà installer un environnement spécifique permettant de démarrer un OS sur la carte accélératrice. Une fois cet environnement démarré, 3 options s'​offraient à l'​utilisateur pour exploiter le Xeon Phi : cross-compiler son code et l'​exécuter nativement sur l'​accélérateur. C'est là que beaucoup ont découvert que 60 veaux à 1.25GHz sont moins efficaces que des double Sandy Bridge 8 coeurs à 3 GHz. Il y avait aussi, avec OpenMP4 (et évidemment le compilateur Intel), la possibilité d'​exploiter le mode "​offload"​ et la "​décharge"​ d'un calcul sur l'​accélérateur. Intéressant mais exigeant un régime de parallélisme optimal supérieur à 960 (16*60, comme c'est bizarre)... La troisième option, que j'ai largement exploitée, consistait à utiliser l'​implémentation OpenCL fournie par Intel. Très efficace, ​tellement ​que c'est avec elle que j'ai obtenu, avec mes tests "​maison",​ les meilleures performances. Le Xeon Phi était même, du temps des IvyBridge et des Kepler, supérieur à ces derniers si le régime de parallélisme était entre 1000 et 2000. Encore fallait-il s'y intéresser... Pour en revenir au C4130, il fallait donc, pour l'​exploiter efficacement en OpenMP ou en OpenCL, s'​adresser aux deux périphériques indépendamment,​ ce qui rendait le code, finalement, ​complètement spécifique à cette infrastructure. A l'​époque,​ le soufflet du Xeon Phi était retombé : tous (ou presque) avaient expérimenté amèrement les performances catastrophiques sur leurs codes sans modification.+Conscient que les liens externes PCIe n'​engendraient ​que des difficultés,​ et que le contrôle de la matrice noeud/GPU n'​était pas assez "​granulée",​ Dell a proposé son C4130 : une machine bi-socket, 1U, équipée directement de 4 GPU (ou 4 Xeon Phi Knight Corner). J'ai alors reçu en test la version équipée de (seulement) 2 Xeon Phi. Evidemment, l'​intégration ne permettait aucune fantaisie sur les accélérateurs possibles : la matrice de compatibilité était d'une pauvreté assez déprimante. Dans cette approche, la difficulté de prise en main était plutôt à imputer à Intel et son accélérateur si difficilement exploitable qu'il en devient inutilisable. Pour exploiter un Xeon Phi, il fallait déjà installer un environnement spécifique permettant de démarrer un OS sur la carte accélératrice. Une fois cet environnement démarré, 3 options s'​offraient à l'​utilisateur pour exploiter le Xeon Phi : cross-compiler son code et l'​exécuter nativement sur l'​accélérateur. C'est là que beaucoup ont découvert que 60 veaux à 1.25GHz sont moins efficaces que des double Sandy Bridge 8 coeurs à 3 GHz. Il y avait aussi, avec OpenMP4 (et évidemment le compilateur Intel), la possibilité d'​exploiter le mode "​offload"​ et la "​décharge"​ d'un calcul sur l'​accélérateur. Intéressant mais exigeant un régime de parallélisme optimal supérieur à 960 (16*60, comme c'est bizarre)... La troisième option, que j'ai largement exploitée, consistait à utiliser l'​implémentation OpenCL fournie par Intel. Très efficace, ​si bien que c'est avec elle que j'ai obtenu, avec mes tests "​maison",​ les meilleures performances. Le Xeon Phi était même, du temps des IvyBridge et des Kepler, supérieur à ces derniers si le régime de parallélisme était entre 1000 et 2000. Encore fallait-il s'y intéresser... Pour en revenir au C4130, il fallait donc, pour l'​exploiter efficacement en OpenMP ou en OpenCL, s'​adresser aux deux périphériques indépendamment,​ ce qui rendait ​finalement ​le code complètement spécifique à cette infrastructure. A l'​époque,​ le soufflet du Xeon Phi était retombé : tous (ou presque) avaient expérimenté amèrement les performances catastrophiques sur leurs codes sans modification.
  
 Au final, il n'y eut jamais la masse critique d'​utilisateurs ou le temps ingénieur disponible pour pleinement exploiter cette approche. Le boitier, quant à lui, avait montré toute la pertinence d'une énorme intégration,​ mais le coût d'​entrée (1 chassis et 4 accélérateurs) restait pour beaucoup rédhibitoire dans un marché où le GPGPU professionnel dépassait les 5000€, fixant l'​ensemble à plus de 25000€. Parallèlement,​ d'​autres solutions largement étaient plus polyvalentes ; les séries R720, R730 puis R740 offraient (et offrent) de 2 à 3 emplacements GPU ou GPGPU, avec comme perspective d'y placer (sans la garantie constructeur mais avec du papier sulfurisé) au moins 2 GPU de gamer 10 fois moins onéreux. Au final, il n'y eut jamais la masse critique d'​utilisateurs ou le temps ingénieur disponible pour pleinement exploiter cette approche. Le boitier, quant à lui, avait montré toute la pertinence d'une énorme intégration,​ mais le coût d'​entrée (1 chassis et 4 accélérateurs) restait pour beaucoup rédhibitoire dans un marché où le GPGPU professionnel dépassait les 5000€, fixant l'​ensemble à plus de 25000€. Parallèlement,​ d'​autres solutions largement étaient plus polyvalentes ; les séries R720, R730 puis R740 offraient (et offrent) de 2 à 3 emplacements GPU ou GPGPU, avec comme perspective d'y placer (sans la garantie constructeur mais avec du papier sulfurisé) au moins 2 GPU de gamer 10 fois moins onéreux.
Ligne 84: Ligne 88:
  
 Impossible de démarrer notre évaluation par autre chose que la multiplication matrice-matrice,​ la "​source"​ de la puissance calculatoire des GPU ! Si vous en doutez, jetez donc un coup d'oeil sur la méthode classique de CGI (Computing Generated Image) par shadering et les opérations de transformations Model2World et World2View ! Là, nous constatons le bon considérable de la Tesla V100 face à la P100. Nous dépassons les 15 TFlops en FP32 et les 7.5 TFlops en FP64. C'est donc d'un facteur 2 que la V100 enfonce la P100 en simple et presque un facteur 3 en double précision. Si la RTX 2080 Ti résiste en simple, elle s'​effondre en double, laissant les Tesla dépasser les 2 TFlops. La Radeon VII se contente d'​approcher cette barrière sans la dépasser. Les processeurs traditionnels,​ même les plus récents et équipés des dernières unités vectorielles peinent à dépasser le TFlops en double précision. Définitivement,​ les Tesla règnent sans partage génération après génération sur ce segment du calcul grande précision... Impossible de démarrer notre évaluation par autre chose que la multiplication matrice-matrice,​ la "​source"​ de la puissance calculatoire des GPU ! Si vous en doutez, jetez donc un coup d'oeil sur la méthode classique de CGI (Computing Generated Image) par shadering et les opérations de transformations Model2World et World2View ! Là, nous constatons le bon considérable de la Tesla V100 face à la P100. Nous dépassons les 15 TFlops en FP32 et les 7.5 TFlops en FP64. C'est donc d'un facteur 2 que la V100 enfonce la P100 en simple et presque un facteur 3 en double précision. Si la RTX 2080 Ti résiste en simple, elle s'​effondre en double, laissant les Tesla dépasser les 2 TFlops. La Radeon VII se contente d'​approcher cette barrière sans la dépasser. Les processeurs traditionnels,​ même les plus récents et équipés des dernières unités vectorielles peinent à dépasser le TFlops en double précision. Définitivement,​ les Tesla règnent sans partage génération après génération sur ce segment du calcul grande précision...
 +
 +
 +{{ :​developpement:​activites:​qualification:​xgemm_c4140.png?​600|}}
 +
  
 === BLAS : pour élargir le spectre des fonctions algébriques === === BLAS : pour élargir le spectre des fonctions algébriques ===
Ligne 89: Ligne 97:
 Le test suivant intégre 5 fonctions BLAS (xGEMV, xTRSV, xAXPY, xDNRM2, xSWAP pour les curieux) assemblées pour offrir un test consistant. Les familiers auront reconnus notamment la multiplication matrice-vecteur et la résolution de systèmed triangulaired. La Tesla V100 reste la première devant toutes les autres cartes, avec 25% de plus que la RTX 2080 Ti et plus d'un facteur 2 par rapport à la Tesla P100 (ce qui reste parfaitement cohérent). Les processeurs les plus performants restent au sol, avec des performances au moins 20 fois inférieures. Confirmation donc : les Tesla en général (et la V100 en particulier) règnent sans partage sur le calcul matriciel. Le test suivant intégre 5 fonctions BLAS (xGEMV, xTRSV, xAXPY, xDNRM2, xSWAP pour les curieux) assemblées pour offrir un test consistant. Les familiers auront reconnus notamment la multiplication matrice-vecteur et la résolution de systèmed triangulaired. La Tesla V100 reste la première devant toutes les autres cartes, avec 25% de plus que la RTX 2080 Ti et plus d'un facteur 2 par rapport à la Tesla P100 (ce qui reste parfaitement cohérent). Les processeurs les plus performants restent au sol, avec des performances au moins 20 fois inférieures. Confirmation donc : les Tesla en général (et la V100 en particulier) règnent sans partage sur le calcul matriciel.
  
-=== Pi le classique à gros grain, offrant record ​première ===+{{ :​developpement:​activites:​qualification:​xtrsv_c4140.png?​600 |}} 
 + 
 +=== Pi Monte Carlo, ​le classique à gros grain, offrant record ​et première ===
  
 Le calcul de Pi par Monte Carlo est toujours le premier test que nous lançons dès qu'un périphérique de calcul quelconque se présente. Simple et aisément parallélisable,​ il "​colle"​ plutôt très bien à la géométrie calculatoire d'un "​moteur"​ de traitement d'​information. Le résultat se présente comme un nombre équivalent d'​itérations par seconde. A l'​automne dernier, avec la RTX 2080 Ti, nous avions franchi un cap : celui des 500 Gitops (Giga ITerative Operations Per Second), soit 500 milliards d'​itérations par seconde. 5 ans auparavant, nous en avions 10 fois moins. Et il y a 40 ans,  avec un 6809 et un Basic interprété nous offraient 50 itérations par seconde : soit un facteur de 10 milliards entre 1978 et 2018. Avec la Tesla V100, nous nous attendions à dépasser 600 Gitops. C'est chose faite. Par contre, nous ne nous attentions pas à "​mettre"​ un facteur 3 à la Tesla P100 ! En double précision, étant donné que l'​essentiel de la "​charge"​ réside dans la génération de nombres aléatoires entiers sur 32 bits, les performances sont relativement comparables entre la simple et la double précision. Ce n'est pas le cas pour les GTX ou RTX, lesquelles "​conservent"​ une performance divisée par 20 pour des calculs doublant la précision. Le calcul de Pi par Monte Carlo est toujours le premier test que nous lançons dès qu'un périphérique de calcul quelconque se présente. Simple et aisément parallélisable,​ il "​colle"​ plutôt très bien à la géométrie calculatoire d'un "​moteur"​ de traitement d'​information. Le résultat se présente comme un nombre équivalent d'​itérations par seconde. A l'​automne dernier, avec la RTX 2080 Ti, nous avions franchi un cap : celui des 500 Gitops (Giga ITerative Operations Per Second), soit 500 milliards d'​itérations par seconde. 5 ans auparavant, nous en avions 10 fois moins. Et il y a 40 ans,  avec un 6809 et un Basic interprété nous offraient 50 itérations par seconde : soit un facteur de 10 milliards entre 1978 et 2018. Avec la Tesla V100, nous nous attendions à dépasser 600 Gitops. C'est chose faite. Par contre, nous ne nous attentions pas à "​mettre"​ un facteur 3 à la Tesla P100 ! En double précision, étant donné que l'​essentiel de la "​charge"​ réside dans la génération de nombres aléatoires entiers sur 32 bits, les performances sont relativement comparables entre la simple et la double précision. Ce n'est pas le cas pour les GTX ou RTX, lesquelles "​conservent"​ une performance divisée par 20 pour des calculs doublant la précision.
 +
 +{{ :​developpement:​activites:​qualification:​pi_c4140.png?​600 |}}
  
 Ce calcul simple nous offre un record, mais pas une "​première"​ ! Je recherche depuis longtemps un noeud (une machine à mémoire partagée) qui m'​offre une puissance supérieure à 1 Titops (soit 1000 milliards d'​itérations par seconde). En agrégeant la puissance de 2 RTX 2080 Ti, cela devait être possible à l'​automne 2018, mais mes versions Pthreads et MPI plafonnaient à 970 Gitops sans franchir ce plafond. Ici, en cumulant les 4 Tesla V100 du C4140, j'​obtiens près de 2.4 Titops : plafond pulvérisé. Je voulais aller sur la Lune, le C4140 m'​envoie vers Mars ! Ce calcul simple nous offre un record, mais pas une "​première"​ ! Je recherche depuis longtemps un noeud (une machine à mémoire partagée) qui m'​offre une puissance supérieure à 1 Titops (soit 1000 milliards d'​itérations par seconde). En agrégeant la puissance de 2 RTX 2080 Ti, cela devait être possible à l'​automne 2018, mais mes versions Pthreads et MPI plafonnaient à 970 Gitops sans franchir ce plafond. Ici, en cumulant les 4 Tesla V100 du C4140, j'​obtiens près de 2.4 Titops : plafond pulvérisé. Je voulais aller sur la Lune, le C4140 m'​envoie vers Mars !
Ligne 98: Ligne 110:
  
 Pour le code N-Corps, je m'​attendais là encore à une démonstration. J'ai cependant été surpris lors de mes premières investigations. Généralement,​ je prenais comme référence un système de 32768 particules en intéraction gravitationnelle. Il est apparu que les cartes récentes n'​atteignaient pas leur optimum de performance avec si peu de particules : j'ai donc "​poussé"​ le nombre de particules à 1048576. Pour la petite histoire, à chaque pas, le nombre d'​intéractions à cumuler dépasse les 1000 milliards, soit plus que le nombre de cellules que nous avons dans notre corps. Et une Tesla V100 effectue chaque pas en 19 secondes. Nous constatons par contre une explosion du ratio entre simple et double précision, même pour les Tesla ! Et, chose intéressante : si la Radeon VII reste un challenger crédible en double précision, Tesla V100 est toujours première. Pour le code N-Corps, je m'​attendais là encore à une démonstration. J'ai cependant été surpris lors de mes premières investigations. Généralement,​ je prenais comme référence un système de 32768 particules en intéraction gravitationnelle. Il est apparu que les cartes récentes n'​atteignaient pas leur optimum de performance avec si peu de particules : j'ai donc "​poussé"​ le nombre de particules à 1048576. Pour la petite histoire, à chaque pas, le nombre d'​intéractions à cumuler dépasse les 1000 milliards, soit plus que le nombre de cellules que nous avons dans notre corps. Et une Tesla V100 effectue chaque pas en 19 secondes. Nous constatons par contre une explosion du ratio entre simple et double précision, même pour les Tesla ! Et, chose intéressante : si la Radeon VII reste un challenger crédible en double précision, Tesla V100 est toujours première.
 +
 +{{ :​developpement:​activites:​qualification:​nbody_c4140.png?​600|}}
  
 === Splutter : une exploitation "​atomique"​ moins efficace === === Splutter : une exploitation "​atomique"​ moins efficace ===
Ligne 104: Ligne 118:
  
 C'est donc là que s'​arrête les tests "​maison"​ que j'​exploite chaque fois que je souhaite comparer les "​moteurs"​ de calcul scientifique. La Tesla V100 tient donc toutes ses promesses : elle offre un gain de performances cohérent par rapport à son aînée, la Tesla P100 et elle reste complètement hors d'​atteinte de ses consoeurs dédiées au jeu. Seule la Radeon VII la talonne en double précision sur un test et la surclasse sur un autre. C'est donc là que s'​arrête les tests "​maison"​ que j'​exploite chaque fois que je souhaite comparer les "​moteurs"​ de calcul scientifique. La Tesla V100 tient donc toutes ses promesses : elle offre un gain de performances cohérent par rapport à son aînée, la Tesla P100 et elle reste complètement hors d'​atteinte de ses consoeurs dédiées au jeu. Seule la Radeon VII la talonne en double précision sur un test et la surclasse sur un autre.
 +
 +{{ :​developpement:​activites:​qualification:​splutter_c4140.png?​600|}}
  
 Passons maintenant aux programmes "​métier"​. Passons maintenant aux programmes "​métier"​.
Ligne 116: Ligne 132:
  
 Néanmoins, si nous analysons la seconde exécution (accélérateur et un unique coeur utilisé), les performances restent comparables entre GTX 1080 Ti et Tesla P100. Cependant, la Tesla V100 accuse le coup : de 80% au dessus de la P100, elle se retrouve 40% au dessus. Face à la RTX 2080 Ti, elle passe de 40% au dessus à 20%. En fait, si nous avons une telle différence de puissance entre les configurations de la Tesla P100 et la Tesla V100, c'est essentiellement à cause de la différence des processeurs ! Il suffit de regarder la comparaison entre exécutions uniquement sur processeurs pour s'en convaincre ! A noter pour finir que le C4140 uniquement avec tous ses coeurs de processeur fait aussi bien qu'une unique Tesla V100 sur un coeur. Néanmoins, si nous analysons la seconde exécution (accélérateur et un unique coeur utilisé), les performances restent comparables entre GTX 1080 Ti et Tesla P100. Cependant, la Tesla V100 accuse le coup : de 80% au dessus de la P100, elle se retrouve 40% au dessus. Face à la RTX 2080 Ti, elle passe de 40% au dessus à 20%. En fait, si nous avons une telle différence de puissance entre les configurations de la Tesla P100 et la Tesla V100, c'est essentiellement à cause de la différence des processeurs ! Il suffit de regarder la comparaison entre exécutions uniquement sur processeurs pour s'en convaincre ! A noter pour finir que le C4140 uniquement avec tous ses coeurs de processeur fait aussi bien qu'une unique Tesla V100 sur un coeur.
 +
 +{{ :​developpement:​activites:​qualification:​gromacs_c4140.png?​600|}}
  
 Ainsi, quand un code "​métier"​ est exploité comme comparateur entre accélérateur,​ veiller à ce que les configurations CPU soient comparables est une salutaire précaution ! Ainsi, quand un code "​métier"​ est exploité comme comparateur entre accélérateur,​ veiller à ce que les configurations CPU soient comparables est une salutaire précaution !
Ligne 126: Ligne 144:
  
 Nos premières analyses confirment ce que nous avions observé sur Gromacs : Tensorflow est aussi un programme hybride et donc la part de performance à associer aux coeurs CPU n'est pas à négliger. Mais l'​addition d'un accélérateur offre un gain très substantiel : 12x pour une GTX 1080Ti, 14x pour une RTX 2080Ti, 16x pour une Tesla P100 mais 25x pour une Tesla V100. Nous aurions pu nous attendre à mieux dans son match avec la P100, surtout étant donné la différence des processeurs de leurs systèmes respectifs, mais les mesures sont là ! Nos premières analyses confirment ce que nous avions observé sur Gromacs : Tensorflow est aussi un programme hybride et donc la part de performance à associer aux coeurs CPU n'est pas à négliger. Mais l'​addition d'un accélérateur offre un gain très substantiel : 12x pour une GTX 1080Ti, 14x pour une RTX 2080Ti, 16x pour une Tesla P100 mais 25x pour une Tesla V100. Nous aurions pu nous attendre à mieux dans son match avec la P100, surtout étant donné la différence des processeurs de leurs systèmes respectifs, mais les mesures sont là !
 +
 +{{ :​developpement:​activites:​qualification:​tensorflow_c4140.png?​600|}}
  
 Bien qu'il existe dans le dossier du test une version multiGPU de l'​apprentissage,​ elle ne s'​exécute pas correctement. Ainsi se termine notre test en Deep Learning. La Tesla V100 reste la meilleure carte (et de loin) pour des activités de Depp Learning, surtout si une grosse quantité de mémoire est requise pour "​charger"​ les bases d'​apprentissage. Bien qu'il existe dans le dossier du test une version multiGPU de l'​apprentissage,​ elle ne s'​exécute pas correctement. Ainsi se termine notre test en Deep Learning. La Tesla V100 reste la meilleure carte (et de loin) pour des activités de Depp Learning, surtout si une grosse quantité de mémoire est requise pour "​charger"​ les bases d'​apprentissage.
Ligne 134: Ligne 154:
  
 Les 7 tests ont donc été exécutés 10 fois dans 5 configurations "​système"​ différentes : pour les GTX 1080Ti, RTX 2080Ti, Tesla P100, Tesla V100 et les 4 Tesla V100 du C4140. Les valeurs ont été renormalisées à la Tesla P100 (la configuration "​classique"​ présentée dans les benchmarks du site). Les 7 tests ont donc été exécutés 10 fois dans 5 configurations "​système"​ différentes : pour les GTX 1080Ti, RTX 2080Ti, Tesla P100, Tesla V100 et les 4 Tesla V100 du C4140. Les valeurs ont été renormalisées à la Tesla P100 (la configuration "​classique"​ présentée dans les benchmarks du site).
 +
 +{{ :​developpement:​activites:​qualification:​hoomd_c4140.png?​600|}}
  
 Quelles conclusions pouvons-nous tirer de ces évaluations ? Tout d'​abord,​ Les cartes de gamer GTX et RTX sont très rarement compétitives dans ce cas d'​exploitation : la RTX ne dépasse la Tesla P100 que dans un cas et reste équivalente dans 2 autres. La Tesla V100 l'​emporte à chaque fois, offrant au moins un facteur 2 dans 3 cas, au pire seulement 40% supplémentaire. La version multiGPU est rarement compétitive : 50% supplémentaire pour 4x plus de puissance brute, c'est assez faible... Dans deux cas, le multiGPU est franchement contre productif. Il reste cependant un cas dans lequel la présence de 4 cartes offre un gain de 3.57 : c'est très raisonnable ! Ce test Hoomd pourrait à lui seul résumer toute la difficulté de comparer les systèmes informatiques : il ne suffit que de donner une liste d'​applications à comparer, il faut également les cas d'​usage les plus significatifs ! Ainsi, en ne testant que "​Hexagon",​ nous en déduisions que le multiGPU était impressionnant alors que c'est l'​exception qui confirme la règle. Quelles conclusions pouvons-nous tirer de ces évaluations ? Tout d'​abord,​ Les cartes de gamer GTX et RTX sont très rarement compétitives dans ce cas d'​exploitation : la RTX ne dépasse la Tesla P100 que dans un cas et reste équivalente dans 2 autres. La Tesla V100 l'​emporte à chaque fois, offrant au moins un facteur 2 dans 3 cas, au pire seulement 40% supplémentaire. La version multiGPU est rarement compétitive : 50% supplémentaire pour 4x plus de puissance brute, c'est assez faible... Dans deux cas, le multiGPU est franchement contre productif. Il reste cependant un cas dans lequel la présence de 4 cartes offre un gain de 3.57 : c'est très raisonnable ! Ce test Hoomd pourrait à lui seul résumer toute la difficulté de comparer les systèmes informatiques : il ne suffit que de donner une liste d'​applications à comparer, il faut également les cas d'​usage les plus significatifs ! Ainsi, en ne testant que "​Hexagon",​ nous en déduisions que le multiGPU était impressionnant alors que c'est l'​exception qui confirme la règle.
Ligne 139: Ligne 161:
 ====== Conclusion : un monstre polyvalent (mais pour les nantis) ====== ====== Conclusion : un monstre polyvalent (mais pour les nantis) ======
  
-Il est clair que la mise à disposition de ce C4140 m'a réconcilié avec la série des C41. Exit les instabilités chroniques des C410X, terminé ces Xeon Phi inexploitables des C4130. Dans une unité de baie, il est possible de disposer de la puissance brute d'une baie entière de noeuds de calcul assez "​musclés",​ et ce pour un nombre croissant d'​applications dans de nombreux ​domaine.+Il est clair que la mise à disposition de ce C4140 m'a réconcilié avec la série des C41. Exit les instabilités chroniques des C410X, terminé ces Xeon Phi inexploitables des C4130. Dans une unité de baie, il est possible de disposer de la puissance brute d'une baie entière de noeuds de calcul assez "​musclés",​ et ce pour un nombre croissant d'​applications dans de nombreux ​domaines.
  
 Oui, la Nvidia Tesla V100 est un "​monstre",​ reléguant la précédente,​ la Tesla P100 (qui était déjà impressionnante en son temps) à un facteur 2. Si l'​efficacité en double précision est exigée, il n'y a pas d'​autre option. Le C4140, cette intégration de 4 Tesla V100 dans une unité de baie est un pari : en plaçant le ticket d'​entrée très haut (un ensemble à 45k€ minimum), il faut pouvoir justifier d'une utilisation efficace de tous ses composants et dans tous les cas. Malheureusement,​ les codes exploitant efficacement plusieurs GPU restent rares, et, quand ils le sont, leurs cas d'​usage anecdotiques. Oui, la Nvidia Tesla V100 est un "​monstre",​ reléguant la précédente,​ la Tesla P100 (qui était déjà impressionnante en son temps) à un facteur 2. Si l'​efficacité en double précision est exigée, il n'y a pas d'​autre option. Le C4140, cette intégration de 4 Tesla V100 dans une unité de baie est un pari : en plaçant le ticket d'​entrée très haut (un ensemble à 45k€ minimum), il faut pouvoir justifier d'une utilisation efficace de tous ses composants et dans tous les cas. Malheureusement,​ les codes exploitant efficacement plusieurs GPU restent rares, et, quand ils le sont, leurs cas d'​usage anecdotiques.
developpement/activites/qualification/c4140.txt · Dernière modification: 2019/08/02 17:09 par equemene