https://github.com/gdinh/matmap
A modular, automatable, tunable mapper for accelerator programming
https://github.com/gdinh/matmap
accelerators compilers python
Last synced: 5 months ago
JSON representation
A modular, automatable, tunable mapper for accelerator programming
- Host: GitHub
- URL: https://github.com/gdinh/matmap
- Owner: gdinh
- License: apache-2.0
- Created: 2021-09-26T22:27:04.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-27T06:46:44.000Z (about 4 years ago)
- Last Synced: 2025-09-23T00:47:56.736Z (9 months ago)
- Topics: accelerators, compilers, python
- Language: Python
- Homepage:
- Size: 83 KB
- Stars: 8
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# Matmap: A Modular, Automatable, Tunable Mapper for Accelerator Programming
A representation for higher-level transforms, with tools to generate [EXO](https://github.com/ChezJrk/exo) code.
## Setup
This has been extensively tested on Python 3.9.7. Python versions 3.7 and earlier are not supported as Exo requires several newer language features not available.
```
git clone https://github.com/gdinh/matmap.git
cd MoST
python -m venv $HOME/.venv/matmap
source $HOME/.venv/matmap/bin/activate
python -m pip install pip setuptools wheel
python -m pip install -r requirements.txt
```
If you'd like to run the interactive demos/documentation, install iPython and set it up so that it points to your venv by running these *from within the venv*:
```
python -m pip install jupyter
ipython kernel install --user --name=matmap_venv
```
Now, you'll be able to launch `jupyter notebook`; just navigate to `docs/` and open `most_demo.ipynb`, then point the notebook to the venv using Kernel > Change kernel > matmap_venv.
## Project status:
- Tiling schedule works
- HBL projective optimal tiling works for constant loop bounds
In progress:
- [GPTune](https://gptune.lbl.gov/) integration
- [CoSA](https://github.com/ucb-bar/cosa) transform
Next TODOs:
- HBL autotiling for CNNs
- Code specialization for variable sized bounds