COMPTOIR
  
register

Le simulateur open-source Gem5 passe en version 20.0

Avant de réaliser un design sur silicium, une des étapes cruciales réside dans la simulation des performances du bouzin, afin de ne pas se lancer directement dans la conception coûteuse d’une puce au résultat trop incertain. Une fois le design théorique réalisé dans ses grandes lignes, des simulateurs RTL prenant en entrée un langage de description matériel bas niveau existent, mais ces derniers sont affreusement lents, si bien que leur principale utilisation est le debugage de morceau de circuits.

 

Du coup, pour estimer convenablement les performances d’une puce — ou dans les cas ou le projet risque de manquer de financement pour arriver jusqu’à l’implémentation physique — des simulateurs dits semi-cycle accurate ont été développés dans la sphère académique, dont ce gem5, un incontournable du secteur. Ce terme indique que la précision du simulateur se situe dans l’ordre de grandeur de la dizaine de cycles par une modélisation poussée des différents blocs logiques du CPU, sans que leur fonctionnement interne soit entièrement simulé. Notez que le prototypage est loin d’être le seul cas d’usage de l’outil, puisque la simulation permet également d’avoir accès à de nombreuses métriques quantifiant la qualité d’exécution du code sur une machine donnée, permettant ainsi d’optimiser toujours plus finement une application à une machine cible.

 

gem5 logo

 

Comme vous l’aurez surement lu dans le titre, l’utilitaire est passé en version 20, et ce depuis... le 21 mai dernier. Pourquoi accuser un tel retard dans le traitement de cette information, alors ? Après 9 années d’existence en tant que gem5 — lui-même issue de la fusion d’un simulateur CPU m5, et un simulateur de mémoire/cache, GEMS — ses principaux contributeurs se sont dit qu’il était temps de refaire le point sur les avancées du projet au moyen d’un papier scientifique.

 

Au fil du temps et des partenariats, gem5 est devenu bien plus qu’un simulateur CPU, avec, ici, une collaboration pour la simulation de GPU AMD sous GCN 3 (Tonga et Fiji)

 

Pour faire le tour des principales fonctionnalités rajoutées depuis sa naissance, citons en vrac le support croissant du RISC-V, ce jeu d’instruction libre qui plait beaucoup ces derniers temps, la possibilité de changer de modèle de simulation à chaud afin de n’utiliser les versions les plus détaillées (et donc les plus lentes) que pour certaines parties ciblées d’un programme, et utiliser les extensions d’accélération matérielle KVM pour le reste. Également, le projet s’est rapproché de certains industriels comme AMD — pour la prise en charge de GPU — ou ARM pour la modélisation fine de l’exécution des processeurs Out-of-Order, un des objectifs principaux du projet. Enfin, le sous-système mémoire a vu de grandes évolutions afin de pouvoir être manuellement configuré via le modèle Ruby, et des statistiques de consommation globales prenant en compte les fonctionnements du type Turbo Boost sont désormais disponibles, cette métrique prenant de plus en plus d’importance avec l’IoT. Si vous êtes réellement intéressés, le mieux reste encore de faire joujou par soi-même afin de se rendre compte de la profondeur du bouzin !

 

Un poil avant ?

Synaptics s'empare de l'IoT Wireless de Broadcom

Un peu plus tard ...

Creative annonce son casque gaming SXFI Gamer

Les 10 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Un médecin des ragots en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 19h20  
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 17h02
Blablabla... t'y connais rien
OK chef t'es le meilleur...
par Auvergne-Rhône-Alpes en Île-de-France, le Jeudi 09 Juillet 2020 à 18h13  
par Un ragoteur sans nom de Bretagne, le Jeudi 09 Juillet 2020 à 13h38
t'va pas rentrer man'ant mon Gégé, j'te r'met un p'tit jaune ? *rhôôôô* diiiis-nous tout mon Géééérard qu'tu penses sur la nénécef ? Toaaaa qué un sespéciliste mon gégé...
Laisse-tomber, le mec s'auto-répond comme si il s'agissait d'une autre personne.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 17h02  
par Unragoteursansespace en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 12h00
De ce que j'ai rapidement apperçu c'est purement destiné à la recherche et non pour la conception de véritables produits.
C'est un outil pour développer des choses en avance de phase lors de la conception de circuit et pour faire de l'exploration architecturale. Donc oui c'est en grande partie pour faire de la recherche, mais c'est aussi utilisé dans l'industrie (pour faire de la recherche).
 
AMHA c'est encore un truc useless financé par le contribuable américain pour justifier des emplois fictifs à la National Science Foundation.
Dit, avant de cracher sur le travail des gens tu pourrais te renseigner 3s ? Ou alors juste te passer de faire des commentaires sur des domaines que tu ne connais ni de près ni de loin. C'est fou ce manque de respect pour le travail des gens.. Tu devrais avoir honte de toi.. Tu es pathétique.
 
Le truc déguise du Python pour formaliser un système existant et hors des modèles prédéfinis, tout est à refaire en suivant les lignes d'un framework.
C'est un outil pour faire de l'exploration architecturale, donc oui c'est fait pour être modulaire.
 
Bref, si votre but est de sortir un produit commercial, mieux vaut tester votre implémentation sur FPGA.
Bonne chance mon petit pour emuler un circuit complet sur ton petit FPGA. Pour émuler des vrais circuits complet dans l'industrie on utilise ce que l'on appel des hardware emulator et ça coûte quelques millions à l'unité ces machines là. Donc avoir des platformes d'émulation software c'est très important.

Bref quand on ne sais pas de quoi on parle on se passe de critiquer
Message de Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes supprimé par un modérateur : Doublon
par Un ragoteur sans nom de Bretagne, le Jeudi 09 Juillet 2020 à 13h38  
par Unragoteursansespace en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 12h00
AMHA c'est encore un truc useless financé par le contribuable américain
pour justifier des emplois fictifs à la National Science Foundation.
t'va pas rentrer man'ant mon Gégé, j'te r'met un p'tit jaune ? *rhôôôô* diiiis-nous tout mon Géééérard qu'tu penses sur la nénécef ? Toaaaa qué un sespéciliste mon gégé...
par Unragoteursansespace en Auvergne-Rhône-Alpes, le Jeudi 09 Juillet 2020 à 12h00  
par Scrabble, le Jeudi 09 Juillet 2020 à 11h20
Quel est le rapport de vitesse, entre l'exécution sur la vraie puce, et
l'exécution sur ce simulateur ? (Ordre de grandeur, bien sûr)
De ce que j'ai rapidement apperçu c'est purement destiné à la recherche et
non pour la conception de véritables produits.

AMHA c'est encore un truc useless financé par le contribuable américain
pour justifier des emplois fictifs à la National Science Foundation.

Le truc déguise du Python pour formaliser un système existant et hors
des modèles prédéfinis, tout est à refaire en suivant les lignes d'un
framework.

Bref, si votre but est de sortir un produit commercial, mieux vaut
tester votre implémentation sur FPGA.
par Thomas N., le Jeudi 09 Juillet 2020 à 11h45  
par Un ragoteur qui draille en Nouvelle-Aquitaine, le Jeudi 09 Juillet 2020 à 11h19
Ça manque d'une profanation avec Gem et les hologrammes
Cette réf.
par Nicolas D., le Jeudi 09 Juillet 2020 à 11h29  
par Scrabble, le Jeudi 09 Juillet 2020 à 11h20
Quel est le rapport de vitesse, entre l'exécution sur la vraie puce, et l'exécution sur ce simulateur ? (Ordre de grandeur, bien sûr)
Facilement 1 pour un million, ca dépend de ton archi mais c'est énorme
par Un ragoteur qui draille en Nouvelle-Aquitaine, le Jeudi 09 Juillet 2020 à 11h19
Ça manque d'une profanation avec Gem et les hologrammes
Back to the future!
par Scrabble, le Jeudi 09 Juillet 2020 à 11h20  
Quel est le rapport de vitesse, entre l'exécution sur la vraie puce, et l'exécution sur ce simulateur ? (Ordre de grandeur, bien sûr)
par Un ragoteur qui draille en Nouvelle-Aquitaine, le Jeudi 09 Juillet 2020 à 11h19  
Ça manque d'une profanation avec Gem et les hologrammes