Skip to content

ecolab-nus/FLEX

Repository files navigation

FLEX

This repository contains architecture, compiler and design space exploration framework for FLEX, a novel CGRA architecture with flexible execution spectrum. FLEX introduces spatio-temporal vector dataflow execution for variable vector length(v). For each application kernel, FLEX DSE framework will perform exploration and will choose the best execution mode/ vector length(v). Please find the paper for more details.

FLEX DSE Framework

Screenshot from 2023-08-11 15-53-30

Directory Structure

Getting started

Prerequisites

Tested on C++ 8.5.0

Install JSON: https://blog.csdn.net/jiaken2660/article/details/105155257

git clone https://github.com/nlohmann/json.git
mkdir build
cd build
cmake ../
make -j2
sudo make install

_NOTE:- Please update all the tool scripts in the Microarchitecture/ folder with your local tool setup. Find the following list for setup files.

Build on your machine

source venv/bin/activate
chmod +x install.sh
./install.sh

Run example DSE

python run_flex_dse.py <Kernel name> <Max vector size supported by kernel> <Max vector size supported by hardware>

python run_flex_dse.py fir 32 8

Citation