Le problème de la chauffe des puces, ça n’est en rien nouveau. Pâte thermique, ventirad, watercooling, nombreuses sont les solutions utilisées de manière à maximiser la conduction thermique et, ainsi, la dissipation des watts produits par nos chers composants en fonctionnement. Cependant, derrière la température renvoyée par les capteurs situés sur la puce se cache une réalité encore plus complexe : une puce ne chauffe pas uniformément — loin de là —, si bien qu’une sacrée armée des senseurs est intégrée sur chaque puce, si bien que les ingénieurs doivent désormais avoir recours à des zones nommées dark silicon, du silicium gravé qui doit rester inactif lors des opérations standards d’une puce faute d’un TDP leur permettant de s’exprimer sans tout cramer. Cela explique par exemple la différence entre le hotspot (point le plus chaud) et la température (souvent moyenne) renvoyée par certains logiciels.
Or, là où il y a de la donnée en masse, le machine learning n’est pas très loin. C’est ainsi que des chercheurs de l’université de Californie, Riverside se sont mis en tête de proposer en accès libre des données de température de puces (au format python sérialisé, personne n’est parfait…) provenant d’un Intel i5-3337U CPU, un i7-8650U CPU, un AMD Ryzen 7 4800U CPU, une NVIDIA GeForce RTX 4060 GPU, et un TPU Coral M.2 de chez Google. Pour chacun de ces bouzins, les scientifiques ont mesuré des événements matériels au moyen de compteurs hardware ainsi que des données de consommation lors de l’exécution de différents benchmarks.
Le setup permettant de mesurer la température tout en exécutant : du watercooling, un module à effet Pelletier, une caméra thermique infrarouge et zou !
Les données ont été relevées à l’aide d’une FLIR A325sc, capable de capter des images de 240 par 320 px maximum à une fréquence de 60 Hz. Mais que faire avec toute cette masse de chiffres ? Dans ce cas-là, les chercheurs pensent à entraîner des réseaux de neurones dans le but de prédire où se situe le point chaud directement à partir de la charge de travail donnée au processeur.
Un exemple de données acquises, superposées aux transistors
Si cela peut paraître ben abstrait, on peut imaginer des applications au niveau des politiques au sein de l’ordonnancer de l’OS, par exemple pour répartir au mieux les processus sur les cœurs physiques disponibles sur votre machine (voir sur les dies dans le cas de CPU reposants sur des tuiles/chiplets) afin de diminuer la surchauffe locale. Reste que tout cela demeure dans le domaine de la recherche, donc encore lointain d’une application commerciale... rendez-vous dans quelques générations !