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
.
Inside the container run make cmake-drv
.
Workloads can then be run via bash scripts/run-drv.sh
.
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
For tooling used by pando-rt
see their
docs.
This includes clang-format
and cpplint
.
Please see pando-rt's README.
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