This is the implementation of the paper GAMMA: Automating the HW Mapping of DNN Models on Accelerators via Genetic Algorithm. GAMMA is an autonomous framework for optimizing the HW mapping of DNN models on the DNN Accelerators. This repository includes GAMMA, a specialized GA-based algorithm, a HW cost evaluation environment with a HW cost model, MAESTRO or Timeloop, embedded, and the other conventional optimization methods supported by nevergrad.
- The native GAMMA algorithm utilizes MAESTRO as cost model, now named Gamma-Maestro, can be found in gamma_maestro_src directory. It searches through the design space of MAESTRO and proposes an optimized mapping.
- We add Timeloop support, named Gamma-Timeloop. It enables using GAMMA algorithm to search through the design space of Timeloop, a DNN cost model from NVIDIA.
- Create virtual env
conda create --name gammaEnv python=3.6
conda activate gammaEnv
- Install requirement
pip install -r requirements.txt
- Tutorial of GAMMA, in IEEE/ACM International Symposium on Microarchitecture (MICRO), 2020 [video]
- Main paper presentation, in IEEE/ACM International Conference On Computer Aided Design (ICCAD), 2020 [video]
- Main paper: GAMMA: Automating the HW Mapping of DNN Models on Accelerators via Genetic Algorithm, ICCAD, 2020 [paper]
- Sheng-Chun (Felix) Kao
- Tushar Krishna
@inproceedings{gamma,
author = {Sheng{-}Chun Kao and
Tushar Krishna},
title = {{GAMMA:} Automating the {HW} Mapping of {DNN} Models on Accelerators
via Genetic Algorithm},
booktitle = {{IEEE/ACM} International Conference On Computer Aided Design, {ICCAD}},
pages = {44:1--44:9},
publisher = {{IEEE}},
year = {2020},
}