9
votes

Quelles instructions CPU utilisent le plus de pouvoir?

Le fond est donc: la semaine prochaine, notre bureau aura une journée sans chauffage, en raison de la maintenance. La température extérieure est attendue entre 7 et 12 degrés Celsius, il pourrait donc devenir frontal. Les radiateurs électriques portables sont trop peu nombreux pour répondre à tout le monde.

Cependant, j'ai eu, dans mon bureau d'environ 6-8 m2, un Big Honkin '(HP XW8600 avec 3,0 GHz Quad-Core Xeon) qui devrait pouvoir produire quelques centaines de watts de Chauffer. Exécution Furmark maximum de la GPU mais je ne sais pas comment travailler mieux la CPU .

La dernière fois que j'étais dans un bureau froide, je compilais plus souvent ou je viens de lancer 4-8 Dosbox: ES Running Norton Commander, mais je pense que l'on peut faire mieux en utilisant SSE1-2-3-4, MMX, etc., c'est-à-dire des choses qui font plus de travail par cycle.

Donc, quelles instructions de CPU basculent sur la plupart des transistors chaque cycle et utilisent ainsi la CPU pour attirer la plupart de la quantité de puissance et donner ainsi la chaleur maximale?

Si j'avais un compteur de puissance disponible, je pourrais faire référence à moi-même, mais je pense que ce serait un défi amusant pour la So-Foule. :)


5 commentaires

Vous chauffez au bureau avec une référence? Un peu macgyver-esque, tu ne penses pas? ; o)


L'écran Cathodique peut aider un peu.


@Kaimattern: MacGyver était mon surnom à l'école. Allez comprendre. :)


"Quelles instructions de la CPU" - Pour les procèseurs de Superscalar modernes, vous devez utiliser un mélange d'instructions différentes qui chargeront tous les ports d'exécution internes. L'utilisation de SSE4 ou AVX ne chargera que 2-3 ports de 6 à 8.


Serait-ce plus facile à répondre et à suggérer d'utiliser une ancienne processeur avec un ensemble d'instructions plus limitées? Le pouvoir est-il seulement un facteur de combien de transistors sont retournés et la longueur de tous les circuits fermés?


3 Réponses :


7
votes

Pour votre objectif spécifique, si vous souhaitez vraiment utiliser votre système en tant que générateur de chaleur, vous devez d'abord vous assurer que le système de refroidissement fonctionne vraiment bien (jeter la chaleur hors de la boîte). Les processeurs d'aujourd'hui sont conçus pour se manifester lorsqu'ils atteignent une température critique qui se produit lorsqu'il est utilisé lorsqu'un dissipateur thermique est utilisé et que le processeur est à TDP ( conception thermique La puissance est la puissance maximale du processeur utilisant des programmes normaux). Si vous avez un meilleur dissipateur de chaleur et une bonne ventilation (ventilateur de la boîte?), Vous pouvez probablement dépasser TDP en supposant que votre alimentation puisse le gérer. Si vous éteignez le ventilateur, vous frappez essentiellement la limite thermique immédiatement.

Pour être plus explicite, les instructions individuelles qui brûlent le plus sont généralement des instructions de charge qui manquent dans les caches et sortent à la mémoire. Pour garantir des victimes, vous voudrez affecter une pièce de mémoire plus grosse que le dernier cache de la CPU de niveau et sautez autour de cette mémoire. Le motif de saut dans le boîtier de puissance maximum est un peu complexe car vous essayez d'obtenir le nombre maximum de manques exceptionnelles à tous les niveaux de la hiérarchie de cache simultanément. Si vous avez 3 niveaux de cache, au cours d'une période donnée, vous pouvez avoir plus de manque à la L1 que possible à la L2 que vous ne le pouvez à la L3 que vous ne le pouvez sur la page DRAM. (Et la conception spécifique de votre processeur aura une limite totale sur les raques.) Entre Misses, l'instruction n'a pas beaucoup d'importance, mais je suppose que l'un des SSE4 multiplie (PMUUDQ) est probablement le meilleur depuis sur un Lot de processeurs modernes, ils s'exécutent dans assez rapidement et font généralement beaucoup de travail (par rapport à un add).

La chose amusante est, en cours d'exécution, le GPU peut limiter la quantité de chaleur que vous pouvez générer à l'aide de MQBO sur le cache L3 car la mémoire peut être enlisée par le GPU. Dans ce cas, vous devez vous assurer que tous les accès aux L3 sont des hits, mais qu'il vous manque dans les autres niveaux.


4 commentaires

Être à TDP est probablement suffisant. Pas besoin de brûler littéralement la CPU. Cependant, j'aimerais voir une certaine validation à votre réclamation sur le cache Miss Burning Power. Je m'attendrais à ce que la CPU soit inactive et attend de la mémoire pour 15-200 cycles. @ Osgx'es Commentaire W.R.T. Simd ci-dessus est plus à mon intuition ....


Vous avez raison que si tout ce que vous faisiez était cache manque, cela ne brûlerait pas assez de puissance, mais comme je le suggère ci-dessus, vous souhaitez écrire un code qui manque constamment dans le cache et utilise le processeur autant que possible entre les instructions. De plus, étant au-dessus de TDP ne signifie pas que vous brûlerez la CPU. TDP n'est qu'une spécification pour le système de refroidissement. Si vous avez un meilleur système de refroidissement, cela peut gérer plus.


D'accord. Tout cela a du sens. Merci!


Pourriez-vous offrir un exemple de code de code, sur la façon dont vous réussissez à réaliser des victimes de cache et de tels schémas d'exécution, comme vous l'avez décrit?



0
votes

pour l'utilisation de la CPU Prime95. C'est léger et chargera tous les noyaux bien. Vous n'allez pas vraiment avoir beaucoup de chaleur à partir d'un Xeon de 3Ghz. Les chips de cet âge sont généralement bons pour plus de 4 GHz avec refroidissement moyen et près de 5 GHz avec des boucles d'eau haut de gamme. Avec une puce à 6 nœuds @> 4GHz avec une tension supplémentaire ajoutée, vous pouvez frapper 200W TDP, mais avec ce système, vous aurez de la chance d'obtenir la CPU à 100w.

Quant au GPU, le Benchmark Heaven est un bon pour l'obtenir rapidement de la température. Encore une fois, sauf si vous avez une carte haut de gamme, quelques centaines de watts de chaleur sont peu probables. Une autre alternative sur les GPUS AMD (peut-être que NVIDIA aussi?) Est d'utiliser un logiciel minier Crpto-Devise, peut-être obtenir un bâton USB avec une distribution minière Linux installée et prête à partir. Vous pouvez également utiliser Prime95 sur la même plate-forme que le logiciel minier utilise très peu de temps de processeur.

J'ai effectivement gardé quelques chambres au chaud pendant l'hiver avec la chaleur d'un ordinateur, il n'ait rarement besoin d'un chauffage supplémentaire. Cela a été fait avec une plate-forme minière crypto-monnaie, qui comportait 4 GPU d'exécution à environ 80 degrés C, 24/7 avec un ventilateur de boîte pour faire circuler l'air autour de la pièce. Cette plate-forme avait un PSU de 1300W. Puis-je suggérer que au lieu d'essayer d'utiliser l'ordinateur pour vous garder au chaud, vous portez plus de vêtements?


0 commentaires

1
votes

Pour GeForce Graphics, mon programme Cudamflops (gratuit) est assez pratique pour obtenir des températures élevées sur la carte graphique. Si vous avez des détails de carte appropriés sont dans:

http://www.roylongbottom.org.uk/cuda1.htm#anchor8 < / a>

Je trouve que mes tests qui exécutent des instructions ESS avec des données de L1 cache produisent généralement les températures du processeur les plus élevées.


0 commentaires