Question:
Pourquoi le GPU consomme-t-il autant d'énergie?
Luke Taylor
2020-07-22 21:16:36 UTC
view on stackexchange narkive permalink

J'essaie de comprendre pourquoi les GPU consomment autant d'énergie.Par exemple, la consommation électrique maximale du GPU P100 est de 250 W.

Si je comprends bien, la puissance est mesurée en watts sous forme de courant x tension .Étant donné une source d'alimentation fixe (c'est-à-dire une tension), je suppose que les GPU consomment beaucoup de courant.Si je comprends bien, pourquoi un GPU consomme-t-il autant de courant?

Je pense que les GPU sont principalement constitués de transistors?Alors, pourquoi la configuration des transistors dans un GPU entraîne-t-elle plus de consommation d'énergie que dans un CPU?

Merci!

TU106 a 10 milliards de transistors.Si chaque transistor a besoin de 10 nanoampères, c'est 100A.
Un GPU est beaucoup plus gros qu'un CPU, c'est le premier indice.
Parce qu'ils font beaucoup en peu de temps?Un GPU moderne est probablement l'ordinateur à usage spécial le plus puissant disponible pour les hommes mortels de nos jours.
Les raisons de la consommation d'énergie des GPU sont essentiellement [les mêmes que celles des CPU] (https://electronics.stackexchange.com/questions/258724/why-do-cpus-need-so-much-current).Les meilleurs GPU sont plus gros que les processeurs avec lesquels vous les comparez et nécessitent donc plus de puissance.
Les puces @ThorbjørnRavnAndersen Colossus CG2 sont également vendues aux mortels.
@DmitryGrigoryev Je me risquerais à dire que plus de cartes graphiques achètent des mortels que celle-là.
Notez que les processeurs haut de gamme sont tout aussi gourmands en énergie que les GPU haut de gamme.Les processeurs Ryzen Threadripper actuels sont [évalués à environ 280 W] (https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_microprocessors#Zen_2_based).
La prémisse de la question n'est pas claire.Vous demandez que les GPU consomment tellement d'énergie _par rapport à quoi_?Un processeur moyen sur une charge de travail moyenne?Un CPU effectuant le même taux de calculs qu'un GPU?Autre chose?
Malheureusement, je ne peux pas ajouter de réponse à cela car il est protégé, mais la réponse courte est: la meilleure question est de savoir pourquoi ils utilisent un si peu d'énergie.Les GPU sont de loin le dispositif de calcul de masse le plus économe en énergie en termes de puissance par FLOPS.Un processeur haut de gamme a quelques dizaines de cœurs.Un GPU haut de gamme a _plusieurs milliers_.Et la réponse à cette question est "parce que leurs cœurs sont très simples par rapport aux cœurs de CPU et conçus pour être très bons pour faire les mêmes calculs en virgule flottante sur de grands ensembles de données et pas très bons pour autre chose."Vous avez à peu près besoin d'un FPGA ou d'un ASIC pour vous améliorer.
(Si cela n'est pas protégé, n'hésitez pas à m'envoyer un ping et j'essaierai d'écrire une réponse correcte et non dans un commentaire.)
Cinq réponses:
jusaca
2020-07-22 21:22:10 UTC
view on stackexchange narkive permalink

Un GPU est fondamentalement BEAUCOUP de processeurs simplifiés en parallèle.Chacun d'eux n'est pas aussi performant et flexible qu'un vrai processeur, mais il y en a des milliers pour offrir ces performances de calcul parallèle massives.

Mais cela signifie également qu'il faut plusieurs milliards de transistors pour construire un GPU moderne.Et pour les puces logiques, nous utilisons des FET, donc à chaque cycle d'horloge, tous les milliards de capacités de grille doivent être chargés et déchargés.C'est là que va la grande quantité d'énergie.

Selon les calculs en cours, tous les transistors ne commutent pas à chaque cycle. (par exemple, une unité d'exécution est probablement inactive si une autre est occupée, mais généralement l'une ou l'autre est en train de commuter, donc la commutation de fraction moyenne est probablement similaire).Et il y a aussi un courant de fuite (puissance statique) de autant de transistors, y compris ceux qui commutent rarement (par exemple dans les matrices de cache).Seuls les états inactifs de faible puissance qui coupent complètement l'alimentation de certaines parties de la puce peuvent éviter cela, et il faut du temps pour se réveiller de ces états afin qu'ils ne puissent pas être utilisés de manière trop agressive.La synchronisation de l'horloge aide pour les courtes périodes d'inactivité ...
Mais oui, +1, c'est une simplification utile des détails.La puce géante fonctionne à chaud car même à une fréquence inférieure à celle des processeurs pour maximiser le calcul par énergie (au lieu des performances du processeur à un seul thread), cela prend toujours un minimum, et en résumé, c'est beaucoup.
@PeterCordes Sommes-nous actuellement proches de la limite théorique?
@John: D'énergie / calcul?Enfer non, * plusieurs * ordres de grandeur.Mais pour tout processus de silicium et conception de puce donnés, il existe une combinaison de tension et de fréquence qui minimise l'énergie / le calcul, plutôt que de minimiser le temps / le calcul.En dessous de ce point, vous gaspillez plus d'énergie sur le courant de fuite que sur la puissance dynamique, peut-être parce que vous ne pouvez plus baisser la tension sans erreurs.Les GPU visent à se rapprocher de ce point de fonctionnement et dépensent simplement plus de transistors, les CPU visent des fréquences plus élevées car ils doivent gérer des problèmes qui ne se parallélisent pas presque parfaitement.
@JohnDvorak En ce qui concerne la limite théorique, le terme à vérifier est le "principe de Landauer".Et comme Peter l'a dit, nous avons encore un long chemin à parcourir avant de nous en approcher.
TimWescott
2020-07-22 21:53:00 UTC
view on stackexchange narkive permalink

Cette question demande pourquoi une horloge plus rapide dans un processeur donné nécessite plus de puissance et a un certain nombre de très bonnes réponses.

Prenez ces réponses, et ajoutez-leur le fait que la consommation d'énergie est une conséquence non seulement de la vitesse de commutation de la logique impliquée, mais de la quantité de celle-ci - et un GPU a beaucoup, beaucoup de logique,tout cela change follement quand c'est dur au travail.

user1850479
2020-07-22 21:20:05 UTC
view on stackexchange narkive permalink

Les GPU consomment beaucoup d'énergie car ils ont un grand nombre de transistors commutant à haute fréquence.

Par rapport à un GPU haut de gamme, les processeurs ont généralement beaucoup moins de transistors commutant à tout moment et ne nécessitent donc pas autant de puissance.Ce n'est pas toujours vrai, vous pouvez obtenir des GPU à faible consommation et d'énormes processeurs de serveur avec des besoins en énergie très élevés.

DKNguyen
2020-07-22 23:29:35 UTC
view on stackexchange narkive permalink

Un GPU est un grand nombre de processeurs plus petits fonctionnant simultanément en parallèle.

Chaque processeur contient de nombreux transistors. De nombreux processeurs en parallèle signifient encore plus de transistors.

Chaque fois que chaque transistor commute, il doit charger ou décharger une capacité parasite à l'intérieur du transistor. Ainsi, plus un transistor commute souvent, plus cette capacité est chargée / déchargée souvent, ce qui signifie que plus de puissance est consommée. Les GPU fonctionnent rapidement, ils changent donc très souvent.

Donc, le fait que les GPU contiennent de nombreux transistors commutant en même temps (car il ne s'agit pas d'un seul processeur fonctionnant à un instant, ses nombreux processeurs fonctionnant à tout instant) et de commutation signifie très souvent des courants très élevés pour charger et se décharger tous ces condensateurs parasites simultanément.

Un processeur normal est plus complexe et a plus de transistors que n'importe quel processeur unique à l'intérieur d'un GPU car il a des fonctionnalités plus élevées, mais il ne fait également qu'une ou deux choses à la fois, donc seule une petite fraction des transistors est commutation à tout moment.

user258330
2020-07-23 19:42:40 UTC
view on stackexchange narkive permalink

Remarque: Il s'agit d'un bref commentaire sur la réponse publiée par @ user1850479 ( Pourquoi le GPU consomme-t-il autant d'énergie?); la seule raison pour laquelle il existe en tant que «réponse» est que poster un commentaire nécessite 50 points de réputation, ce que je n'ai pas. Si quelqu'un veut aider en copiant son contenu dans un (vrai) commentaire à l'endroit approprié, cela me convient parfaitement et ce message peut donc être supprimé. Aucune attribution ni reconnaissance n'est nécessaire. Licence: CC0 Merci. :)

Il convient également de noter que les processeurs exécutant des instructions vectorielles (variantes SSE, AVX) peuvent consommer plus d'énergie qu'ils ne le feraient autrement en exécutant simplement des instructions standard. Cela peut être observé en exécutant des programmes 3D et en les forçant à utiliser des rastérisateurs logiciels - en substance, en forçant le processeur à assumer une charge de travail semblable à un GPU - telle que WARP ou SwiftShader, qui utilisent généralement beaucoup les instructions vectorielles. Les processeurs Intel ont même une fonctionnalité de limitation de puissance spécifique à AVX qui intervient pour maintenir le processeur dans son TDP évalué.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...