Gati is a FPGA based reconfigurable CNN inference platform developed by team by Vicharak. Reconfigurable in a way that it let's you generate the hardware only necessary for the target model.
Gati Currently supports a plethora of operators which can be arranged accordingly to support a list of models.
gati_platform
├── hardware/
| └── gati/
| └── rah_bit/
| └── src/
├── software/
│ └── gaticc/
└── README.md
hardware/- Hardware design and FPGA-related components.software/gaticc/- Compiler, simulator, and runtime for the Gati DNN Accelerator.
Gati Platfrom is currently Supported on the Vaaman FPGA SBC Developed By Vicharak.
To generate a bitstream for your target model, follow instructions in hardware/README.md.
To use this on your Vaaman read this doc to setup your vaaman.
The list of pre quantized model is available in the release section of the repo . However it is not limited to these models.
This repository uses Git submodules.
Clone with:
git clone --recursive https://github.com/vicharak-in/gati_platform.gitIf you already cloned the repository without submodules:
git submodule update --init --recursiveArch:
sudo pacman -S python3 python-pip pkg-config cmake
Fedora:
sudo dnf install python3-devel python-pip cmake
Ubuntu/Debian:
sudo apt install python3-dev python3 python3-pip pkg-config cmake
MacOs
brew install python pkg-config cmake
cd software/gaticcpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtInstall dependencies:
./scripts/install_deps.shConfigure and build:
cmake -B build
cmake --build build
sudo cmake --install build
pip install -e .To Build with debug symbols:
cmake -B build -DCMAKE_BUILD_TYPE=DebugVerify Installation
gaticc -hNote
If you encounter:
gaticc: error while loading shared libraries: libprotobuf-lite.so.32: cannot open shared object file: No such file or directory
Refresh the system library cache:
sudo ldconfigThen try running gaticc -h again.
Warning
README-only pull requests are not accepted in this repository.
Pull requests containing only README updates, formatting changes, wording improvements, typo fixes, or other documentation-only modifications will be closed without review or comment.
Documentation updates are accepted only when they accompany a relevant code, hardware, build system, or platform integration change.
This repository serves as an integration layer for the Gati Platform.
Development of individual components happens in their respective repositories:
- Software development, issues, and pull requests should be submitted to the GATICC repository.
- Hardware development, issues, and pull requests should be submitted to the corresponding GATI repository.
Please refer to the contribution guidelines of those repositories before opening issues or submitting pull requests.
Unless the issue is specifically related to platform integration, issues and pull requests should not be opened in this repository.
The Gati Platform and all its submodule are under this LICENSE