Skip to content

CGRA-Flow is an integrated framework for CGRA compilation, exploration, synthesis, and development.

Notifications You must be signed in to change notification settings

richardissuperman/CGRA-Flow

This branch is 7 commits behind tancheng/CGRA-Flow:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

446c5ff · Mar 2, 2025
Dec 13, 2024
Dec 27, 2022
Apr 30, 2023
Dec 13, 2024
Mar 2, 2025
Dec 18, 2022
Oct 5, 2024
Sep 24, 2024
Sep 24, 2024
Mar 2, 2025
Jun 10, 2024
Mar 1, 2025
Dec 12, 2024
Oct 13, 2024
Dec 12, 2024
Oct 30, 2024
Nov 6, 2024

Repository files navigation

========================================================

   ________________  ___         ________             
  / ____/ ____/ __ \/   |       / ____/ /___ _      __
 / /   / / __/ /_/ / /| |______/ /_  / / __ \ | /| / /
/ /___/ /_/ / _, _/ ___ /_____/ __/ / / /_/ / |/ |/ / 
\____/\____/_/ |_/_/  |_|    /_/   /_/\____/|__/|__/  
                                                      

========================================================

Github Action License

CGRA-Flow is an integrated framework for CGRA compilation, exploration, synthesis, and development.

User Interface Snapshot/Demo

20241028

A demo at repl.it (https://repl.it/@ChengTan/cgra-flow) shows some features of CGRA-Flow (the verilog generation and evaluation are not available due to repl.it's limited support of python environment). To explore all the features, please setup CGRA-Flow locally or leverage the docker image.

Docker

The docker image is available here.

Recommended machine configuration

  • CPU: >= 6 cores
  • Memory: 25~30G

2x2 tiles run time:

clk_period (ps) frequency (Hz) time (hour)
1000 1G ~40
10,000 100M ~7
100,000 10M ~7

As CGRA-Flow requires GUI, a script is provided for setting up the display:

 docker pull cgra/cgra-flow:20241028

 # For Mac users:
 sh ./run_mac_docker.sh

 # Windows Docker customtkinter style UI (Please setup GUI (X-11) first)
 # In WSL, execute below script, it will enter container and config x11 DISPLAY automatically
 sh ./run_windows_docker.sh

 # Don't forget to activate the python virtual environment once you are in the container:
 source /WORK_REPO/venv/bin/activate

Otherwise, if you don't need the GUI, development can be performed in the container with the environment well set up:

 docker pull cgra/cgra-flow:20241028
 docker run -it cgra/cgra-flow:20241028
 source /WORK_REPO/venv/bin/activate

Execution

 # Startup theme mode selector UI
 python launch.py

Installation

CGRA-Flow requires Python3.7.

Refer to the build scripts or look into specific repo for the manual installation if you don't want to use docker.

Citation

@inproceedings{tan2020opencgra,
  title={OpenCGRA: An open-source unified framework for modeling, testing, and evaluating CGRAs},
  author={Tan, Cheng and Xie, Chenhao and Li, Ang and Barker, Kevin J and Tumeo, Antonino},
  booktitle={2020 IEEE 38th International Conference on Computer Design (ICCD)},
  pages={381--388},
  year={2020},
  organization={IEEE}
}

License

CGRA-Flow is offered under the terms of the Open Source Initiative BSD 3-Clause License. More information about this license can be found here:

OpenAI GPT (coming soon)

Arch Wizard.

About

CGRA-Flow is an integrated framework for CGRA compilation, exploration, synthesis, and development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • Other 1.4%