The GeneSys compiler uses an embedded architecture description language to create a Hierarchical Architecture Graph for flexibly compiling mg-DFGs to different architectures. The GeneSys architecture uses a systolic array centric approach that forms the core convolution engine for implementing DNN algorithms, and can be customized to run a range of standard DNN topologies.
This document will help you get up and running.
The following dependencies must be met by your system:
- python >= 3.7 (For PEP 560 support)
$ git clone --recurse-submodules https://github.com/he-actlab/codelets.src
$ cd codelets.src
Step 2: Create a Python virtualenv
Note: You may choose to skip this step if you are doing a system-wide install for multiple users. Please DO NOT skip this step if you are installing for personal use and/or you are a developer.
$ python -m venv general
$ source general/bin/activate
$ python -m pip install pip --upgrade
If you already have a working installation of Python 3.7 or Python 3.8, the easiest way to install GeneSys is:
$ pip install -e .
You can compile a GeneSys benchmark by running the following commands, where <benchmark_name> is one of resnet18
, resnet50
, or maskrcnn
and <output_type> is either "simulation" or "instructions", depending on whether or not the goal is to simulate the compiled output or generate executable instructions:
$ python genesys/benchmarks/run_benchmark.py --benchmark <benchmark_name> --output_type <output_type>