darchr / gem5art Goto Github PK
View Code? Open in Web Editor NEWArtifact, reproducibility, and testing utilites for gem5
License: BSD 3-Clause "New" or "Revised" License
Artifact, reproducibility, and testing utilites for gem5
License: BSD 3-Clause "New" or "Revised" License
Is gem5art going to release notes on how to run standard workloads like SPEC2k17 or SPEC2k6 using System Emulation mode?
This is because Full System mode takes more time when compared to SE mode.
Also, the tool does not give instruction on running a Multi-programmed workload (Multi-core) using SE mode.
Will, there be near future support on it by this tool?
Currently, saveResults() does not include files in subdirectories in result.zip. Also, when I unzip the file, it uses the absolute paths to structure the output folder. I think it's better to use relative paths.
getRuns
Add a way to launch a run that doesn't add things to the database, etc.
It would be cool if we had "official" artifacts from gem5-resources.
Links that may be helpful:
Right now, the gem5Run objects are often differentiated based on the parameters passed to the run script (i.e. run.params
). It would be good to give each of the parameters a name.
For instances run.param_names = ['cpus', 'workload', 'input size']
Right now, you need to say from gem5art.artifact.artifact import Artifact
. This is too many artifacts
.
E.g., host OS, compiler, libraries, environment variables,etc.
See also collective knowledge: https://ck.readthedocs.io/en/latest/
File: artifact.py
method: registerArtifact()
Problem:
if ppath.is_file():
data['hash'] = getHash(ppath)
data['git'] = {}
elif ppath.is_dir():
data['git'] = getGit(ppath)
data['hash'] = data['git']['hash']
else:
raise Exception("Path {} doesn't exist".format(ppath))
The method assumes the file/folder already exists, but it is not the true during the artifact creation.
The artifact will be created the first time at artifact.py:188 (self = cls(data)
)
What is the initial assumption for new artifacts?
When no_kvm option is enabled, linux boot fails for atomic cpu since memory mode should be atomic but even when I fix that Assertion `!inParallelMode || this == curEventQueue()' fails during the linux boot.
Here is the related line:
I was wondering if there are plans to add a SimPoints or SMARTS style methodology to gem5art?
In particular (for SimPoints), how would one account for the mismatch in generating SimPoints on a normal machine and then running them in FS mode where the instructions include the kernel and other processes? Is there a way in gem5 to only count instructions for a certain PID, etc?
Add member variable status to gem5rub objects that user can set in their simulation (most probably in their run script).
I followed this tutorial: https://gem5art.readthedocs.io/en/latest/tutorials/boot-tutorial.html
When I run the launch script, I get results directory and everything but when I check, for example, results/run_exit/vmlinux-5.2.3/boot-exit/atomic/classic/1/init/simout, I see that even though the configuration script is in the targeted location, it cannot find it (config-boot-tests/run_exit.py).
Here is my folder structure:
boot-tests:
------config-boot-tests
------disk-image
------gem5
------linux-configs
------linux-stable
------results
------venv
------launch_boot_tests.py
Here is command and error:
command line: gem5/build/X86/gem5.opt -re --outdir=/home/muhammet/Desktop/boot-tests/results/run_exit/vmlinux-5.2.3/boot-exit/atomic/classic/1/init boot-tests/configs-boot-tests/run_exit.py linux-stable/vmlinux-5.2.3 disk-image/boot-exit/boot-exit-image/boot-exit atomic classic 1 init
Script configs-boot-tests/run_exit.py not found.
Arm is an important one.
Starting to figure out how RISC-V will work as well.
The way every artifact is updated now is based on their path, however we have to change this to take the name for the artifact from the artifact member 'name'.
Python's pathlib is a much improved way to use paths in Python 3. We should replace all occurrences of paths with Path
.
E.g., simple grep on filesystem
Working packer scripts:
hi
have anyone already made disk image from TPC benchmark?
There's some duplicated information (e.g., the name of the disk and the name in the disk object and the path on disk vs ...)
Relates to #112
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.