A bundle of auxiliary scripts for the Anycore project
Project description
atool-simenv
A new toolset to reliably packing, then spawning a RISC-V workload (app) for any simulation purpose.
An app is packed into a simenv
, which is basically the rootfs containing all the essentials for a simulation. The tool learns what are the essentials by analyzing the workload's syscall trace. When simulating with the proper PK/FESVR, the dynamic instruction stream is even reproducible.
The motivation is to help Dr. Rotenberg's microarchitecture research group and ECE721 students using SPEC CPU2006 and CPU2017 workloads (usually checkpointed workloads) with ease.
At the time, run atool-simenv --help
to see how to use it (docs are incoming).
Usage: atool-simenv [OPTIONS] COMMAND [ARGS]...
The simenv utility
Options:
--db-path DIRECTORY Override the manifest directory path.
--checkpoints-archive-path DIRECTORY
Override the checkpoint archive directory
path.
--help Show this message and exit.
Commands:
learn Create a new simenv by learning the syscall trace.
list List the simenv for available apps and checkpoints.
mkgen Generate a Makefile for a simenv, at current dir.
spawn Spawn a simenv.
verify Perform integrity checking for a simenv.
* If you are using bash/zsh/fish, you can run eval "$(_ATOOL_SIMENV_COMPLETE=source_$(basename $SHELL) atool-simenv)"
to enable the auto completion for atool-simenv.
Misc.
SpecResultVerification/spike_trim.py
- Trim out the extra header/tail message produced by spike or pk during the simulation. Useful if you want to automatically verify the STDOUT output of a SPEC simulation.Checkpointing/ChkptDescFileGen/smpt2ckptdesc.py
- Convert the Simpoint output file to the checkpoint job description file accepted by Spike.Checkpointing/DumpHTIF/chkpt_htif_dump.py
- Show the HTIF syscalls recorded in a checkpoint file. When restoring a checkpoint, those syscalls will be executed in sequence to bring back the state of HTIF FESVR.TetherSim/SimTetheringController.py
- Controller for 721sims working in tethering mode.
To work with trace dump
-
CpuTraceAnalysis/trace2google.py
- Analyze the trace dumped by spike or 721sim and output the result in Google's Trace Event Format. -
To visualize the result, use speedscope (recommend) or Chromium's about://tracing .
- if
ignore_symbol.yaml
exists in CWD, it will be read to filter out the defined function calls. SeeCpuTraceAnalysis/ignore_symbol.yaml
for an example.
- if
-
CpuTraceAnalysis/trace2tracevis.py
- Analyze and visualize the trace dumped by spike or 721sim in a homebrew timeline frontend (using timeline-js).- if
ignore_symbol.yaml
exists in CWD - Will be read to filter out the defined function calls. SeeCpuTraceAnalysis/ignore_symbol.yaml
for an example. - It's recommended to use
trace2google.py
. Because the trace_vis frontend uses timeline-js, which is not intended for visualizing tracing result, it can be very slow and unresponsive when working with trace with a large amount of event.
- if
Viewing the trace2google.py output with speedscope
Viewing the trace2google.py output with Chrome's about:tracing
Viewing the trace using homebrew TraceVis frontend (use timeline-js)
WIP.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file anycore-dbg-supplement-0.2.1.tar.gz
.
File metadata
- Download URL: anycore-dbg-supplement-0.2.1.tar.gz
- Upload date:
- Size: 7.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.6 Linux/5.4.80-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 015510eb303a13c203e2f4dba609e2f857665e1bf1117f27f1343b52ca6e9f69 |
|
MD5 | 3c8e98692d17864edee53da7391f1cea |
|
BLAKE2b-256 | cf6c4b973cf7c6ba4d3725cbba069fc6fc9cee29b57408a11258eaa2e24f7116 |
Provenance
File details
Details for the file anycore_dbg_supplement-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: anycore_dbg_supplement-0.2.1-py3-none-any.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.6 Linux/5.4.80-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f87f57c1ba261d1d745dd0544387d9eb9318e7c68b7f86bd779a20c27e7162 |
|
MD5 | e3fcf7263157f69adab756f0de07a176 |
|
BLAKE2b-256 | c43bc7501271065f28f30429600656425dbc70b17095f96ed529e64b19438573 |