Skip to content

utcs-scea/pando-mono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pando Lib Galois

This repo holds the common data structures and algorithms used by other Galois projects running on PANDO.

Other workflow repos are expected to submodule this repo and use this repo's pando-rt submodule for using root.

Before developing make sure you have initialized the pando-rt submodule with git submodule update --init --recursive.

Quick Setup:

git submodule update --init --recursive
make dependencies
make hooks
make drive-deps
make docker-image
make docker
# These commands are run in the container `make docker` drops you into
make setup
make -C dockerbuild -j8
make run-tests

Developers can run a hello-world smoke test inside their containers by running bash scripts/run.sh.

Running on Drive X

Inside the container run make cmake-drv.

Workloads can then be run via bash scripts/run-drv.sh.

Tools

Provides a declarative set of tools pinned to specific versions for environmental consistency.

These tools are defined in .tool-versions. Run make dependencies to initialize a new environment.

A left shifting tool to consistently run a set of checks on the code repo. Our checks enforce syntax validations and formatting. We encourage contributors to use pre-commit hooks.

# install all pre-commit hooks
make hooks

# run pre-commit on repo once
make pre-commit

Further tooling

For tooling used by pando-rt see their docs. This includes clang-format and cpplint.

Please see pando-rt's README.

Scripts

Plot.py

Plots histograms of the memory references among hosts

Usage: python3 plot.py (application or workflow name) (number of hosts) (directory to the stat files generated by pando-rt) (per-phase / end-to-end) (include-local / remote-only) (stat-dump / hist-only)

All histograms would be placed in a generated histograms/ directory All dumps would be placed in a generated dump/ directory Drawing per phase histograms might take a while if many phases

There are four memory access types: Load, Store, Read-Modify-Write (RMW), and Function Call (Func) Reference is the total number of memory references (all the above types added up) Histograms for different memory types will be generated separately