Calculs approximatifs: comment les processeurs économisent l'énergie

Si vous pensez à l'informatique, des mots tels que performance, vitesse, consommation et efficacité viendront sûrement à l'esprit, mais d'autres comme l'exactitude et la précision sont également importants. Cependant, les chercheurs du OPRÉCOMP projet en désaccord, et leur objectif est de développer un type de calcul radicalement différent et plus flexible appelé calcul de transprécision , qui consiste, comme vous le supposerez déjà par le propriétaire de cet article, à faire approximatif et pas des calculs exacts. Comment un processeur de cette taille fonctionnerait-il sur un PC sans provoquer d'erreurs?

Notamment efficace , qui consiste à améliorer les performances en réduisant la consommation, est devenu particulièrement important ces derniers temps et les chercheurs tentent depuis des décennies de trouver des moyens alternatifs pour trouver les meilleures valeurs des deux. L'un de ces axes de recherche consiste à sortir de la règle de la précision des calculs , quelque chose qui pourrait être absurde pour l'informatique moderne mais qui, comme nous allons vous le dire ci-dessous, a beaucoup de sens.

Comment les processeurs économisent l'énergie

La précision des calculs dans un processeur

Le principal objectif du consortium de recherche OPRECOMP, dirigé par IBM Recherche Europe à Zurich. Lorsque nous parlons d'un ordinateur et plus particulièrement d'un processeur, nous pensons tous que la précision doit être absolue, mais dans de nombreuses applications, une telle précision n'est tout simplement pas nécessaire et consomme trop d'énergie. Au lieu de cela, OPRECOMP cherche à fournir des approximations avec juste la bonne quantité d'énergie nécessaire pour le travail, tout en accélérant le nouveau calcul. C'est ce que nous pourrions appeler des «processeurs paresseux» qui font la «loi du moindre effort».

Rendu CPU Código

Les ordinateurs numériques utilisent généralement un schéma de codage élaboré qui stocke les nombres sous la forme de 64 chiffres binaires . Dans de nombreux cas, cependant, les applications ne nécessitent pas tous ces chiffres, donc un défi dans ce projet est non seulement de réduire la consommation d'énergie, mais aussi de s'assurer que le résultat approximatif des calculs reste dans les limites correctes ou prédéfinies, ou du moins que de telles limites peuvent être données pour les résultats attendus.

En d'autres termes: actuellement, si un processeur calcule mal une opération, nous obtenons un écran bleu d'erreur et le système se bloque, donc si le processeur effectuait des calculs approximatifs, cela ne fonctionnerait certainement pas, non? Cependant, ce à quoi ce projet fait référence est faire un calcul correct mais sans autant de décimales , puisqu'ils sont inutiles dans un grand nombre de cas.

Pour vous donner une idée, nous allons donner un exemple. Imaginez que le processeur doive calculer le nombre Pi, qui, comme vous le savez, a une infinité de décimales. Ainsi, lorsque le Processeur est invité à le calculer, il obtiendra 64 décimales, mais la réalité est que l'application qui l'a demandé n'a besoin que de 16 décimales (c'est un exemple) pour effectuer les opérations nécessaires, donc le reste a été littéralement calculé en une manière inutile. Pour cette raison, quand on parle du nombre Pi, on ne dit généralement pas 3.14159265358979323846… mais on se contente généralement de dire que c'est 3.1416, arrondi car avec quatre décimales on en a généralement assez pour ce dont on a besoin.

Comment fonctionnerait un processeur de calcul approximatif?

OPRECOM s'adresse à l'ensemble de la pile informatique, du niveau matériel physique à l'architecture en passant par les compilateurs, les algorithmes et les logiciels. Il aspire à offrir le premier cadre de transprécision complet pour le calcul du futur, et pour y parvenir, ils travaillent non seulement du côté informatique, mais leur équipe de mathématiciens, d'informaticiens et d'ingénieurs en logiciel travaille également à montrer les avantages des applications. avec des calculs approximatifs, comme un petit drone utilisé pour voler pendant de longues périodes.

OPRÉCOMP

D'autres domaines d'application spécifiques incluent l'analyse Big Data, l'apprentissage automatique et le calcul haute performance (HPC). L'architecture développée abordera les aspects de traitement, de mémoire et de communication des systèmes à faible puissance (de l'ordre du milliwatts) utilisés dans les petits appareils ou objets connectés aux grands systèmes informatiques hautes performances qui ont une consommation énorme (de l'ordre du kilowatts). .

L'équipe du projet a déjà adapté de nombreux algorithmes existants pour travailler en transprécision: par exemple, l'équipe a développé une nouvelle implémentation de l'algorithme BLSTM qui convertit les images en texte avec une précision de 8 bits seulement. Il ne perd que 0.01% de précision, mais réduit en retour la consommation d'énergie jusqu'à un facteur de 8. L'algorithme a également été implémenté dans le matériel, ce qui montre qu'il peut être automatisé et utilisé dans des applications réelles.

«L'un des défis est que le calcul de transprécision n'est pas très connu, même parmi les informaticiens. L'automatisation est la clé pour aider une communauté internationale ouverte à se développer afin que le calcul approximatif puisse être accessible à un large public. y compris des ingénieurs n'ayant aucune expérience des approximations ou des calculs inexacts.À cet égard, OPRECOMP développe un kit de développement logiciel de transprécision qui permet aux développeurs de programmer et d'expérimenter facilement des algorithmes de transprécision et de petits appareils informatiques, tels que le PULP. La feuille de route pour voir cette technologie dans les applications quotidiennes est encore longue, mais avec OPRECOMP nous avons fait un grand pas en avant ». Cristiano Maolssi, coordinateur du projet.

À la fin de ce projet, de nouveaux algorithmes basés sur le calcul approximatif auront été générés, de nouvelles plates-formes basse énergie pour exécuter cette charge de travail, des bibliothèques d'environnements logiciels pour permettre l'utilisation de ce type de calcul, ainsi que des outils d'émulation de bibliothèques qui accélèrent prototypage de développement. Tous les logiciels produits ont été réalisés open source , et des résultats comme le FlottantX La bibliothèque de programmation pour le calcul de basse précision a déjà fait la une des journaux. En outre, IBM a déjà prototypé un système HPC traditionnel avec une accélération informatique de transprécision.

Au final, l'objectif est de réduire la consommation des processeurs de toutes sortes en leur faisant ne pas avoir à calculer si précisément, et qu'avec des calculs approximatifs largement suffisants, il est possible d'améliorer énormément le rendement.