Konata
- Konata est un visualiseur de pipeline d'instructions pour les formats Onikiri2-Kanata/Gem5-O3PipeView.
- La présentation du didacticiel d'apprentissage ASPLOS 2018 gem5 est ici
- Le format Onikiri2-Kanata est décrit ici. Il peut représenter un comportement de pipeline plus détaillé que Gem5-O3PipeView.
Installation
Il existe deux façons de lancer Konata. Si vous ne parvenez pas à lancer un binaire pré-construit, veuillez essayer la deuxième méthode.
- Extrayez une archive et lancez un fichier exécutable (konata.exe ou konata).
- Des binaires prédéfinis sont disponibles à partir d'ici.
- Lancez-vous à partir de ce référentiel.
- Installez node.js depuis https://nodejs.org
- Clonez ce référentiel.
- Lancez install.bat (Windows) ou install.sh (Linux/MacOS).
- Lancez Konata depuis konata.vbs (Windows) ou konata.sh (Linux/MacOS).
Usage
Basique
- Générez un journal de trace à partir de gem5 avec le modèle de processeur O3
- Exécutez gem5 avec les indicateurs suivants
- Cet exemple provient de http://www.m5sim.org/Visualization
$ ./build/ARM/gem5.opt
--debug-flags=O3PipeView
--debug-start=<first tick of interest>
--debug-file=trace.out
configs/example/se.py
--cpu-type=detailed
--caches -c <path to binary>
-m <last cycle of interest>
- Charger un "trace.out" généré sur Konata
- depuis un menu dans une fenêtre ou par glisser-déposer
- Si vous utilisez
O3CPUAll
ainsi que O3PipeView
comme suit, Konata affiche un journal CPU plus détaillé et visualise la dépendance entre les instructions. --debug-flags=O3PipeView,O3CPUAll
Clavier
- molette de la souris vers le haut, touche vers le haut : faire défiler vers le haut
- molette de la souris vers le bas, touche enfoncée : faire défiler vers le bas
- ctrl + molette de la souris vers le haut, touche "+", ctrl+touche vers le haut : zoomer
- ctrl + molette de la souris vers le bas, touche "-", ctrl+touche vers le bas : zoom arrière
- ctrl + f, F3, shift+F3 : trouver une chaîne
- F1, ctrl+shift+p : ouvre une palette de commandes
Conseils
- Si vous manquez des pipelines dans le volet de droite, vous pouvez y accéder en cliquant sur « Ajuster la position » dans un menu contextuel.
- Vous pouvez comparer visuellement deux traces comme suit :
- Charger deux fichiers de trace
- Faites un clic droit et sélectionnez « École synchronisée » et « Mode transparent »
- Cliquez avec le bouton droit et sélectionnez un jeu de couleurs
- Passez à un autre onglet et ajustez une position avec le mode transparent
- Si vous ne parvenez pas à lancer Konata, essayez d'installer les runtimes suivants (ou essayez d'installer la dernière version de Google Chrome, car il utilise les mêmes runtimes).
sudo apt install
libgconf-2-4
libgtk-3-0
libxss1
libnss3
libasound2
libx11-xcb1
libcanberra-gtk3-module
libgbm-dev
- En mode
O3CPUAll
, Konata associe chaque ligne de trace.out à chaque instruction en suivant [sn:<serial number>]
. Si vous générez un journal personnalisé avec les informations de série ci-dessus, Konata affiche votre journal personnalisé.
Développement
- Installez les environnements d'exécution dépendants comme suit ou utilisez Dockerfile inclus dans une arborescence source
# Install node.js/npm
sudo apt install nodejs
# Install electron/electron-packager
# Since electron is huge, they are installed globally.
npm -g install electron
npm -g install electron-packager
# Run and build
make init # Setup libraries
make # Run Konata
make pack # Build & pack Konata for Windows/Linux/Mac
Licence
Copyright (C) 2016-2022 Ryota Shioya [email protected]
Cette application est publiée sous la licence BSD à 3 clauses, voir LICENSE.md. Cette application regroupe ELECTRON et de nombreux packages tiers conformément aux licences présentées dans THIRD-PARTY-LICENSES.md.