Se connecter avec
S'enregistrer | Connectez-vous

L'influence de la température sur les calculs GPU

Par - Source: Tom's Hardware FR

Taux d'erreurs

En janvier se tenait le Compas' 2013, un événement dédié au parallélisme en informatique. Et un papier a suscité notre attention : « Températures, erreurs matérielles et GPU ».

Les erreurs de calcul liées à la température

L'idée de David Defour et Eric Petit est simple : vérifier la tolérance des cartes de calcul quand la température est élevée. Ils ont donc récupéré plusieurs cartes NVIDIA (Telsa, etc.) et effectué des tests en OpenCL pour vérifier si les cartes restaient fiables à haute température. Ce n'est pas un test anodin : les cartes sont de plus en plus souvent installées dans des ordinateurs portables ou dans des ordinateurs de type All In One et subissent donc des contraintes bien supérieures à des cartes installées dans une tour classique, bien ventilée.

Selon les auteurs, les erreurs de calcul ne sont pas rares : avec un programme comme Folding@Home, les statistiques indiquent que 2/3 des GPU grand public font des erreurs détectables et que dans certains cas (2 % des GPU), le taux d'erreurs n'est pas négligeable et atteint environ un calcul sur 10 000. Sur les cartes Tesla, plus contrôlées, ce taux d'erreur est négligeable selon les études.

Pour mesurer les taux d'erreurs, plusieurs cartes ont été placées dans un boîtier externe, fourni par NVIDIA avec certaines cartes Tesla (les D870). Le système de refroidissement et le boîtier ont été modifiés pour augmenter la température des cartes de façon artificielle. Enfin, un programme de test dédié a été écrit en OpenCL pour tester les différentes unités des cartes.

Les cartes testées sont les suivantes : Tesla C870, GeForce 9800GX2, Tesla T10P, GeForce GTX480, GeForce GTX560 et GeForce GTX670. Les cartes ont toutes une limite de température qui arrête physiquement le GPU, sauf la Tesla C870. Les températures limites sont de (respectivement) 130°C, 115°C, 110°C, 105°C et 100°C. Comme on le voit, plus on avance dans le temps et plus la température limite diminue. De plus, les cartes ont une limite en température qui diminue la fréquence : à partir de 105°C (et tous les 5°C), la Tesla C870 divise sa fréquence de fonctionnement par deux (600 MHz au départ). La GeForce 9800GX2 divise sa fréquence par deux à 105°C et passe à seulement 37 MHz au-delà de 115°C. La Tesla T10P divise sa fréquence par deux à 105°C alors que les autres modèles divisent la fréquence par deux à partir de 100°C.

Sur les cartes acceptant de fonctionner à 130°C (GeForce 9800GX2 et Tesla C870), il n'y a pas eu d'erreur de calcul, même après plusieurs jours. À 160°C, une des cartes est morte après 11 jours de tests. À 170°C, les erreurs au niveau des calculs sont fréquentes. Visiblement, les auteurs de l'article n'ont pas réussi à obtenir des erreurs sur les autres cartes, et pour une bonne raison : les mécanismes de protection permettent de protéger les cartes.

Notons que le test OpenCL utilisé a un avantage : il permet de cibler précisément les unités qui effectuent des calculs dont la réponse est fausse. Il est donc techniquement possible d'isoler ces derniers pour ne garder que les unités qui ne font pas d'erreurs.

Pour les amateurs, l'étude est disponible au téléchargement. Il s'agit de l'étude numéro 2 dans la partie Architecture.

Il y a 7 commentaires. B
Tous les commentaires
  • 0
    Streaming , 11 février 2013 11:28
    L'étude numéro?
  • 0
    jamais content , 11 février 2013 14:24
    J'ai lu rapidement l'étude citée et ce qui me choque dans cette étude, c'est qu'elle démontre le contraire de du postulat initial:
    "Selon les auteurs, les erreurs de calcul ne sont pas rares" (*1) d'une part et
    "Sur les cartes acceptant de fonctionner à 130°C (GeForce 9800GX2 et Tesla C870), il n'y a pas eu d'erreur de calcul, même après plusieurs jours". En fait 1 mois de calculs non-stop à 130C sans erreurs puis 11 jours à 160C, température atteinte en isolant la carte pour l’empêcher d'évacuer la chaleur ! (*2)

    Justement, on n'est pas censé atteindre cette température de 130C (ils ont modifié le bios de ces 2 cartes pour bloquer les protections) Et il a fallut des conditions spéciales (isoler la carte) pour détruire une première carte à 160C (cependant sans erreurs pendant 11j) et enfin produire des erreurs sur une seconde carte (test 70minutes) à 170C.

    J'ai rien contre David Defour et Eric Petit, mais tout ce qu'ils ont démontré c'est que passer un GPU au four ça fini par le cassé ou lui faire produire des erreurs si on insiste vraiment.

    Ils ont en fait prouvé la robustesse des GPUs. Je m'attendais à des erreurs au delà de 100C et grillage au delà de 125C. On en est très très loin.

    Alors quelle est la source des erreurs de calculs reportés par Folding@Home ?
    Cette étude montre juste que c'est pas la température en fait.
    Pistes:
    -bug de programmation (erreur humaine donc)
    -RAM produisant des erreurs
    -car défaillante (pas d'ECC dans 99% des machines de Foldin@Home) (*3)
    -car overclockée
    -CPU overclocké
    ...?

    (*1) USB/PDF_Track_Architecture/paper_2.pdf commence par "L’apparition de fautes dans les composants intégrés est un phénomène connu [11, 12, 13]. Les nouveaux
    coprocesseurs matériels comme les GPU ou les Xeon Phi (MIC) n’échappent pas à la règle"

    (*2) Les passages clefs de l'étude:

    "4.1 ...Afin d’accélérer le processus de vieillissement des GPU, nous les avons fait fonctionner à des températures
    supérieures à leur température de fonctionnement habituelle. Certaines cartes utilisent une puce
    de contrôle de la température et du fonctionnement du ventilateur de type ONSEMI ADT7473 [21]. Pour
    ce type de carte, certains paramètres liés à la température, en particulier la température maximale admissible,
    sont modifiables par mise à jour du BIOS de la carte graphique à l’aide des outils d’overcloking
    (ex : nvflash, nibitor). Malheureusement, nous avons constaté lors de nos tests que ces modifications
    n’étaient pas disponibles pour l’ensemble des GPU testés. Pour celles dont nous avons réussi à en modifier
    le comportement, les puces, en utilisation intensive, n’atteignaient pas la plage de température
    visée (160-170 °C). Nous avons donc réalisé une enceinte thermique autour du GPU. Pour réguler la
    température, nous avons laissé le mécanisme de refroidissement passif et avons simplement modifié
    le fonctionnement du ventilateur. Les relevés de températures étaient effectués pas l’intermédiaire des
    sondes de températures internes et vérifiés avec un thermocouple P3400 placé au plus près du GPU."

    "5. Résultats expérimentaux
    Pendant 3 mois, nous avons réalisé des tests sur différentes cartes graphiques afin d’en analyser le comportement
    lorsque celles-ci sont soumises à un stress interne (micro-kernel de test) et à un stress externe
    (fortes températures). Nous avons dans un premier temps étudié les différents mécanismes de protections
    thermiques de cartes NVIDIA de différentes générations. A partir de ces tests nous avons constaté
    que seules les cartes de type C870 et 9800GX2 pouvaient atteindre des températures de fonctionnement
    de l’ordre de 130 °C sans modifications matérielles pour inhiber le Thermal Shutdown Protection (TSP).
    Nous avons donc fait fonctionner ces exemplaires à 130 °C pendant 1 mois et n’avons constaté aucune
    erreurs. Ensuite, nos efforts se sont concentrés sur les cartes C870 qui étaient les seules cartes testées
    pouvant fonctionner à des températures supérieures à 160 °C sans activer le TSP."

    "5.2. Test de fiabilité
    Nous avons constaté que seules les cartes 9800GX2 et C870 pouvaient monter à 130 °C sans modifications
    matérielles. Nous avons donc réalisé une première série de test à cette température. Pour cela nous
    avons fait fonctionner en boucle l’ensemble des trois tests décrits en section 4.2.2 pendant trois semaines
    sur deux exemplaires simultanément de chaque carte. A l’issue de cette période, aucune erreur n’est
    apparue.
    Nous avons ensuite fait fonctionner deux exemplaires de carte C870 à des températures de l’ordre de
    160 °C. Nous avons constaté qu’il était difficile de stabiliser la température précisément, cette dernière
    variant de += - 5 °C . Les tests ont fonctionné pendant une période de 15 jours. Une carte s’est révélée
    défaillante après une période de 11 jours sans qu’aucune erreur n’apparaisse. La défaillance s’est révélée
    permanente même après redémarrage de la machine.
    Nous avons ensuite légèrement augmenté la température de fonctionnement de deux cartes C870 pour
    les porter à une température moyenne de 170 °C. Nous avons fait fonctionner ces cartes pendant 70
    minutes et reporté le type d’erreur et leur fréquences d’apparition dans les graphiques 4 et 5."

    (*3) Il y a justement une étude sur la RAM non ECC de google assez intéressante (chercher ecc ram google sur google) Et qui porte sur un grand nombre de machines
  • 0
    dantes94 , 11 février 2013 14:27
    La résistance a la chaleur ne diminue t'elle pas au fur et a mesure que la finesse de gravure des puces des puces diminue ?
  • 1
    Sylvain37 , 11 février 2013 14:28
    Ils ont réussi à faire quel score sous F@H, du coup ? :o 
  • -1
    ddavid42 , 11 février 2013 20:20
    Les objectifs de l'étude n'étaient pas de tester si les cartes graphiques pouvaient fonctionner dans un four mais:
    1) Tester les dispositifs de protection thermiques des GPU et observer que la t° limite diminue avec la finesse de gravure (et donc avec le temps)
    2) Etablir et proposer un protocole (et une batterie de tests OpenCL) visant à déterminer les unités les plus sensible au vieillissement (visiblement ce sont les FPU et/ou les scheduler et non pas les shared mem ou les registres, ce qui est plutôt une surprise).
    3) A la question et pourquoi utiliser le facteur température et pas plutôt l'overclocking qui génèrent tous deux des erreurs, et bien parce que la température est un des facteurs permettant de "simuler" le vieillissement accéléré des processeurs.

    Pour ce qui est de la fréquence des erreurs dans les cartes graphiques, il y a déjà pas mal de travail sur ce sujet en référence dans l'article, notamment sur la mémoire. Ces travaux portent sur des millions d'heures de calcul sur GPU, où l'on y constate que la fréquence des erreurs est effectivement importante.

    En revanche, il est difficile de tirer quelques conclusions que ce soit sur la fréquence des erreurs à partir de tests sur quelques cartes et qui plus est haut de gamme (TESLA). Aussi, cela ne faisait pas partie des objectifs de ce travail.

  • 0
    jamais content , 12 février 2013 21:11
    Bah comme j'ai lu l'article j'ai pas besoin que tu m'expliques ce qu'il contient...
    1/ En fait pas du tout, ils ont fait tout ce qu'ils pouvaient pour les contourner. Faut lire le texte original... (*1)
    2/ Il y avait des erreurs dans tous les domaines à 170C
    3/ Sauf qu'ils ne maitrisent pas ce vieillissement ! 1 mois à 130C, c'est censé simuler quel vieillissement ? 1an ? 10ans? Ils n'en parlent pas du tout et d'ailleurs n'en savent rien.

    En particulier, il n'y a pas de comparaison entre des cartes neuves poussées à 170C et celles "vieillies" à 130C pendant 1 mois (qui ont tournée à 160C pendant 15j sans erreurs sauf celle morte sans erreurs après 11j). Les cartes vieillis font pas d'erreurs alors que les autres si. Mais à 10C de plus. Va conclure quelque chose avec ces infos.

    Et bien sûr on ne peut rien conclure du tout car le comportement d'une poignée de cartes.
    On ne sait pas en outre si elles ont été achetées ensemble (donc probablement de lots de fabrication identiques ou proches dans le temps) ou à des mois d’intervalle. Sont-ils tombés sur une bonne ou une mauvaise fournée ?

    On nous présente une ETUDE qui ressemble en fait à un rapport de stage dont cela n'était qu'une petite partie pas bien ficelée. On propose un protocole sur le logiciel mais le matériel c'est un grand n'importe quoi.

    (*1) Le texte commence par:
    "Résumé
    Les co-processeurs massivement parallèles offrent une grande puissance de calcul en intégrant un nombre
    croissant de coeurs. De plus, les technologies de gravure sont de plus en plus denses, les fréquences plus
    élevées et les voltages plus faibles. La combinaison de ces facteurs tend à augmenter significativement la
    probabilité d’erreurs de calcul dues aux erreurs physiques. Dans cet article, nous présentons les résultats
    d’expériences caractérisant l’impact du vieillissement des cartes de type GPU NVIDIA sur l’apparition
    d’erreurs physiques. En se basant sur une plateforme logicielle de micro-tests écrits en OpenCL, nous
    sollicitons de manière intensive et ciblée certains éléments de l’architecture pour caractériser les éventuelles
    erreurs de calcul. Afin d’accélérer le processus de vieillissement et donc d’apparition d’erreurs,
    nous utilisons une technique standard, consistant à faire fonctionner les processeurs à des températures
    élevées. Ce papier introduit les phénomènes physiques et l’état de l’art liés aux méthodes de caractérisation
    des erreurs physiques. Nous présentons ensuite notre adaptation de ces protocoles au cas des
    GPU NVIDIA ainsi que nos premiers résultats. Ces derniers montrent comment et où ces erreurs se
    produisent."
  • 0
    Bourriquet , 13 février 2013 14:41
    Ce n'est pas un test anodin : les cartes sont de plus en plus souvent installées dans des ordinateurs portables ou dans des ordinateurs de type All In One et subissent donc des contraintes bien supérieures à des cartes installées dans une tour classique, bien ventilée.

    Pour mesurer les taux d'erreurs, plusieurs cartes ont été placées dans un boîtier externe, fourni par NVIDIA avec certaines cartes Tesla (les D870).

    Je tique sur quelques points :
    > Une partie du matériel fut fournie par nVidia.
    > Tous les GPU sont estampillés de cette marque.
    > L'accent est mis sur les config. les moins rafraîchies (un Kiss-Cool, peut-être ? ;-) comme pad thermique.)

    Je ne peux m'empêcher de faire le lien avec le scandale des GeForce 8400M et 8600M pour portables. La marque ne chercherait-elle pas à rassurer des acquéreurs échaudés ? Sa 'suprématie' serait-elle menacée par AMD ? Sinon, quel est l'intérêt de ces 'crashes-tests' pour un professionnel ou un particulier ? Aucun, car l'achat d'un tel équipement souvent coûteux est sensé être fiable pour une utilisation durable dans un environnement correctement ventilé.

    Selon moi, il s'agit d'une manipulation de l'information (pas vous, M. Dandumont). Mais une de plus venant de nVidia. Décidément !