Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shioyadan/Konata
Konata is an instruction pipeline visualizer for Onikiri2-Kanata/Gem5-O3PipeView formats. You can download the pre-built binaries from https://github.com/shioyadan/Konata/releases
https://github.com/shioyadan/Konata
Last synced: 2 months ago
JSON representation
Konata is an instruction pipeline visualizer for Onikiri2-Kanata/Gem5-O3PipeView formats. You can download the pre-built binaries from https://github.com/shioyadan/Konata/releases
- Host: GitHub
- URL: https://github.com/shioyadan/Konata
- Owner: shioyadan
- License: bsd-3-clause
- Created: 2017-04-27T14:09:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T12:14:08.000Z (9 months ago)
- Last Synced: 2024-08-02T01:27:16.068Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.11 MB
- Stars: 379
- Watchers: 12
- Forks: 34
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-opensource-hardware - konata
README
# Konata
* Konata is an instruction pipeline visualizer for Onikiri2-Kanata/Gem5-O3PipeView formats.
* ASPLOS 2018 learning gem5 tutorial presentation is [here](https://github.com/shioyadan/Konata/wiki/gem5-konata.pdf
)
* The Onikiri2-Kanata format is described in [here](docs/kanata-log-format.md). It can represent a more detailed pipeline behavior than Gem5-O3PipeView.![demo](https://github.com/shioyadan/Konata/wiki/images/konata.gif)
## Installation
There are two ways to launch Konata.
If you fail to launch a pre-built binary, please try the second way.1. Extract an archive and launch an executable file (konata.exe or konata).
* Pre-built binaries are available from [here](https://github.com/shioyadan/Konata/releases).
2. Launch from this repository.
1. Install node.js from https://nodejs.org
2. Clone this repository.
3. Launch install.bat (Windows) or install.sh (Linux/MacOS).
4. Launch Konata from konata.vbs (Windows) or konata.sh (Linux/MacOS).## Usage
### Basic
1. Generate a trace log from gem5 with the O3 CPU model
* Execute gem5 with the following flags
* This example is from http://www.m5sim.org/Visualization
```
$ ./build/ARM/gem5.opt \
--debug-flags=O3PipeView \
--debug-start= \
--debug-file=trace.out \
configs/example/se.py \
--cpu-type=detailed \
--caches -c \
-m
```
2. Load a generated "trace.out" to Konata
* from a menu in a window or using drag&drop
3. If you use ```O3CPUAll``` as well as ```O3PipeView``` as follows, Konata shows more detailed CPU log and visualizes dependency between instructions.
```
--debug-flags=O3PipeView,O3CPUAll
```### Keyboard
* mouse wheel up, key up: scroll up
* mouse wheel down, key down: scroll down
* ctrl + mouse wheel up, key "+", ctrl+key up: zoom in
* ctrl + mouse wheel down, key "-", ctrl+key down: zoom out
* ctrl + f, F3, shift+F3: find a string
* F1, ctrl+shift+p: open a command palette### Tips
* If you miss pipelines in a right pane, you can move to pipelines by click "Adjust position" in a right-click menu.
* You can visually compare two traces as follows:
1. Load two trace files
2. Right-click and select "Synchronized school" & "Transparent mode"
3. Right-click and select a color scheme
4. Move to another tab and adjust a position with the transparent mode
* If you cannot launch Konata, try to install the following runtimes (or try to install the latest Google Chrome, because it uses the same runtimes).
```
sudo apt install \
libgconf-2-4 \
libgtk-3-0 \
libxss1 \
libnss3 \
libasound2 \
libx11-xcb1 \
libcanberra-gtk3-module \
libgbm-dev
```
* In ```O3CPUAll``` mode, Konata associates each line in trace.out with each instruction by tracking ```[sn:]```. If you output custom log with the above serial information, Konata shows your custom log.## Development
* Install dependent runtimes as follows or use Dockerfile included in a source tree
```
# 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
```## License
Copyright (C) 2016-2022 Ryota Shioya
This application is released under the 3-Clause BSD License, see LICENSE.md.
This application bundles ELECTRON and many third-party packages in accordance with
the licenses presented in THIRD-PARTY-LICENSES.md.