Skip to content

PDXCapstoneF/SPECtate

Repository files navigation

Service Master Development
CI Status Build Status Build Status
Documentation Status Documentation Status Documentation Status

SPECtate

SPECtate is a configuration tool that interfaces with the benchmarking software SPECjbb®2015. SPECtate is designed to to be a more user-friendly alternative for configuring and invoking the SPECjbb®2015 benchmarking software, providing:

Interfaces:

  • a graphical-user-interface (GUI)
  • a command-line-interface (CLI)

Configuration:

  • processes human-readable configuration files (HJSON, JSON, YAML)

Invocation:

  • a python-equivalent of SPECjbb®2015's run.sh file

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See usage for notes on how to use the project on a live system.

There's a pre-packaged binary for quick, out-of-the box setup without any dependencies! Check out the releases for binaries for the main CLI application.

Prerequisites

Setup

git clone https://github.com/PDXCapstoneF/SPECtate.git
cd SPECtate/
python -m unittest discover -s .

This project uses pipenv to manage dependencies. To start:

pipenv shell
pipenv install

Docker

This project has a Docker file. You can build an image yourself and run SPECtate with it:

# build the image
docker build -t SPECtate:latest .
# run SPECtate
docker run SPECtate:latest --help
# would display the help text like you ran it yourself
# with python mainCLI.py --help

Example CLI Usage

  • Run an example configuration:
python mainCLI.py run example_config.json
  • See what an example configuration might do:
python mainCLI.py run --dry-run example_config.json
  • Generate configurations:
# generate you own configuration via the cli in dialogue:
python mainCLI.py dialogue
# or through the ncurses equivalent cli:
python speccurses.py

Documentation

  • SPECtate documentation can be found in docs/ page and in the Python scripts themselves. Documentation of SPECtate can be generated by using Python's standard library pydoc.

Example:

cd SPECtate/
pydoc -w dialogue; open dialogue.html

The -w flag in the above command will "Write out the HTML documentation for a module to a file in the current directory."

Testing

  • Unittests

  • Travis-CI for Continuous integration testing during development

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact