High Performance Deep Learning using Accera
This repo presents some case studies for using Accera - the open source cross-platform compiler from Microsoft Research - to create high performance deep learning computations (i.e. GEMM, Convolution, etc.).
- MatMul Grid Search Case Study
- NCHWc 2D Convolution Grid Search Case Study
- Unrolled Convolution Grid Search Case Study
Refer to the original Accera Manual to get familiar with Accera concepts and Domain Specific Language (DSL).
Accera requires Python 3.7-3.10
. For those case studies, you can simply install the required libraries using
pip install -r requirements.txt
To build Accera from the source, refer to Accera's Install Instructions.
NOTE: Those case studies are tested on
Python 3.9.10
andAccera v1.2.9
.
Each case study is located in a separate folder under the case_studies folder. To run any case study, you can simply change directory to the required case study, then run
python run.py
Moreover, each case study has a README file to explain the details of what the case study is trying to do.
NOTE: We will continiously add more case studies to show how to use Accera to build high performance deep learning computations.
To increase the impact of this repository, we welcome and encourage contributions with new case studies using Accera. Before you work on any, it is advised that you follow the same style as MatMul Grid Search Case Study as follows:
- Create
run.py
which contains the main code for the case study (mainly the Accera DSL). - Create
utils.py
which can include any needed utility functions. - Create
README.md
which contains a detailed explanation of what the case study is trying to achieve plus any results.
Following this template ensures that your work can be merged to the master branch in a timely manner.
MIT License. See LICENSE file
NOTE: For any questions about the case studies, feel free to reach out to me at marina_neseem@brown.edu.