The (open-source part of) code to reproduce BPPSA: Scaling Back-propagation by Parallel Scan Algorithm published in MLSys'20.
nvidia-docker
wget
for downloading the datasets. (Note: you don't have to usewget
, as long as you can get the datasets to be placed undercode/
, i.e.,code/bernoulli{10...30000}_10/
andcode/IRMASmfcc_{s|m|l}/
. If you choose to do so, you can comment out the corresponding part inworkflow.sh
to avoid the downloading time, although the script still works if the datasets are downloaded again.)
- (Optional) If you are using a fresh Ubuntu 18.04 machine without any package on it, you can check out
install.sh
to automate the dependency installation. (Note: read the warning at the top first!) - Open
workflow.sh
with an editor. AdjustDOCKER_BUILD
andDOCKER_RUN
based on your version of nvidia-docker. (Optional) AdjustGPU
andDOCKERFILE
based on your GPU model name. - Run
./workflow.sh
. Running the whole script takes around 57 hours. You can (optionally) comment out part of the workflow inworkflow.sh
and choose to run a certain step. The things that can be commented out are enclosed in
#### Title. ####
...
################
- At the end of the workflow, a
results/
directory will be created that contains figures similar to the ones inside the paper.
@inproceedings{MLSYS2020_BPPSA,
author = {Wang, Shang and Bai, Yifan and Pekhimenko, Gennady},
booktitle = {Proceedings of Machine Learning and Systems},
editor = {I. Dhillon and D. Papailiopoulos and V. Sze},
pages = {451--469},
title = {BPPSA: Scaling Back-propagation by Parallel Scan Algorithm},
url = {https://proceedings.mlsys.org/paper/2020/file/96da2f590cd7246bbde0051047b0d6f7-Paper.pdf},
volume = {2},
year = {2020}
}
- By using (including but not limited to: copy, modify, merge, publish, distribute) any part of this project, you consent to the terms in our license.
- By running
workflow.sh
, you consent to the terms in IRMAS' license.