Skip to content

TileFlow is a performance analysis tool based on Timeloop for fusion dataflows

License

Notifications You must be signed in to change notification settings

pku-liang/TileFlow

Repository files navigation

TileFlow

This repo is an extension to timeloop to support more general simulation of tensor programs.

Install

  1. install required software/libs
sudo apt install scons libconfig++-dev libboost-dev libboost-iostreams-dev libboost-serialization-dev libyaml-cpp-dev libncurses-dev libtinfo-dev libgpm-dev git build-essential python3-pip
  1. install tileflow
git clone --recursive [email protected]:pku-liang/TileFlow.git
cd TileFlow
export TILEFLOW_BASE=$(pwd)

# build timeloop
cd 3rdparty/timeloop/src
ln -s ../pat-public/src/pat .
cd ..
scons -j4 --static


# build tileflow 
cd ../..
scons -j4 --static

# add bin to path 
source ./setup-env.sh 
  1. check installation
# test parser 
cd ./tests/cases/08-test-2mm # a sample input for 2mm.
tileflow arch/* prob/* map/* # the order is not important
  1. Run tutorials in tutorials. Run validation experiment in AE/validation.

Cite us

@inproceedings{tileflow,
  author       = {Size Zheng and
                  Siyuan Chen and
                  Siyuan Gao and
                  Liancheng Jia and
                  Guangyu Sun and
                  Runsheng Wang and
                  Yun Liang},
  title        = {TileFlow: {A} Framework for Modeling Fusion Dataflow via Tree-based
                  Analysis},
  booktitle    = {Proceedings of the 56th Annual {IEEE/ACM} International Symposium
                  on Microarchitecture, {MICRO} 2023, Toronto, ON, Canada, 28 October
                  2023 - 1 November 2023},
  pages        = {1271--1288},
  publisher    = {{ACM}},
  year         = {2023},
  url          = {https://doi.org/10.1145/3613424.3623792},
  doi          = {10.1145/3613424.3623792},
  timestamp    = {Sun, 31 Dec 2023 19:06:27 +0100},
  biburl       = {https://dblp.org/rec/conf/micro/0001CGJ0W023.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}