This repository provides the evaluation setups for the MICRO22 artifact evaluation for the paper TeAAL: A Declarative Framework for Modeling Sparse Tensor Accelerators. We provide a docker environment and Jupyter notebook for the artifact evaluation.
- Memory: 256 GB
- Storage: 125 GB
- Web browser
- Docker
There are two options for performing the artifact evaluation:
- Use the MLCommons CM Automation Language (see here)
- In a JupyterLab (see below)
The latter is recommended for finer-grain control of which figures you would like to reproduce.
git clone https://github.com/FPSG-UIUC/micro23-teaal-artifact.git
cd micro23-teaal-artifact
Copy the docker-compose.yaml.template
file to a new docker-compose.yaml
.
cp docker-compose.yaml.template docker-compose.yaml
Add the appropriate USER_UID
and USER_GID
.
We provide three options for obtaining the docker image. Please choose one of the options listed below.
docker-compose pull
If this does nothing, proceed to Option 2.
docker pull timeloopaccelergy/timeloop-accelergy-pytorch:teaal-amd64
git clone https://github.com/Accelergy-Project/timeloop-accelergy-pytorch.git
git switch micro23-artifact-teaal
make build-amd64
docker-compose up -d
Navigate to localhost:8888
(or <remote_ip>:8888
if using a remote machine) within a web browser.
Navigate to notebooks/figs8and9.ipynb
and follow the instructions to reproduce Figures 8 and 9. Navigate to notebooks/fig10.ipynb
and follow the instructions to reproduce Figure 10. The heading describe the graphs to compare.
To install a missing import, open the terminal within the Jupyter Lab and execute the following.
pip install <dependency>
fibertree
can be installed with:
pip install git+https://github.com/FPSG-UIUC/fibertree.git@metrics#egg=fiber-tree
teaal
can be installed with:
pip install git+https://github.com/FPSG-UIUC/teaal-compiler.git#egg=teaal
Once an import is installed, you must restart the notebook's kernel to make it visible.
You can confirm that all imports are available by running a simple copy kernel at notebooks/simple-teaal.ipynb
.
To confirm that all accelerator specifications are configured correctly, please execute notebooks/simple-accel.ipynb
.
If any accelerator tests return False
, restore all specifications.
cd path/to/micro23-teaal-artifact/
git restore yamls/
The described hardware resouces are required for these experiments. However, you can still generate the graphs using pre-generated simulation data.
To do so, navigate to notebooks/figs8and9.ipynb
and after running the second Code cell, set the pregenerated
widget to True
. Execute the rest of the notebook, skipping cells beginning with %%python3 -O
.
This README is based on the instructions for the MICRO22 Sparseloop Artifact.