Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
NNgen: A Fully-Customizable Hardware Synthesis Compiler for Deep Neural Network
| Date | Stars |
|---|---|
| 2026-07-31 | 367 |
| 2026-08-03 | 367 |
| 2026-08-04 | 368 |
| 2026-08-06 | 368 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
NNgen
==============================
A Fully-Customizable Hardware Synthesis Compiler for Deep Neural Network
Copyright 2017, Shinya Takamaeda-Yamazaki and Contributors
License
==============================
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
What's NNgen?
==============================
NNgen is an open-sourced compiler to synthesize a model-specific hardware accelerator for deep neural networks. NNgen generates a Verilog HDL source code and an IP-core package (IP-XACT) of a DNN accelerator from an input model definition.
Generated hardware is all-inclusive, which includes processing engine, on-chip memory, on-chip network, DMA controller, and control circuits. So the generated hardware does not require any additional controls from an external circuit or the CPU after the processing is started.
The backend of NNgen employes Veriloggen, an open-sourced mixed-paradigm high-level synthesis compiler in Python. So you can customize NNgen for new DNN algorithms and applications.
Contribute to NNgen
==============================
NNgen project always welcomes questions, bug reports, feature proposals, and pull requests on [GitHub](https://github.com/NNgen/nngen).
Community manager
--------------------
As a manager of this project, the community manager leads community management, and promote software development and diffusion.
Committers
--------------------
Committers are individuals who are granted the write access to the project. In order to contribute as a committer, the approval of the community manager is required. The area of contribution can take all forms, including code contributions and code reviews, documents, education, and outreach. Committers are essential for a high quality and healthy project. The community actively looks for new committers from contributors.
Reviewers
--------------------
Reviewers are individuals who actively contributed to the project and are willing to participate in the code review of new contributions. We identify reviewers from active contributors. The committers should explicitly solicit reviews from reviewers. High-quality code reviews prevent technical debt for long-term and are crucial to the success of the project. A pull request to the project has to be reviewed by at least one reviewer in order to be merged.
for questions, bug reports, and feature proposals
--------------------
Please leave your comment on the [issue tracker](https://github.com/NNgen/nngen/issues) on GitHub.
for pull requests
--------------------
Please check "CONTRIBUTORS.md" for the contributors who provided pull requests.
NNgen uses **pytest** for the integration testing. **When you send a pull request, please include a testing example with pytest.**
To write a testing code, please refer the existing testing examples in "tests" directory.
If the pull request code passes all the tests successfully and has no obvious problem, it will be merged to the *develop* branch by the committers.
Installation
==============================
Requirements
--------------------
- Python3: 3.7.7 or later
- Python 3.10.6 (via pyenv) is recommended for macOS with Apple Silicon.
- Icarus Verilog: 10.1 or later
```
sudo apt install iverilog
```
- veriloggen: 2.3.0 or later
- numpy: 1.17 or later
- onnx: 1.9.0 or later
```
pip3 install veriloggen numpy onnx
```
Install
--------------------
Now you can install NNgen using setup.py script.
```
python3 setup.py install
```
Optional requirements for testing
--------------------
These are required for automatic testing of **tests**.
We recommend to install these testing library to verify experimental features.
- pytest: 3.8.1 or later
- pytest-pythonpath: 0.7.3 or later
- PyTorch: 1.3.1 or later
- torchvision: 0.4.2 or later
```
pip3 install pytest pytest-pythonpath torch torchvision
```
For fast RTL simulation, we recommend to install Verilator.
- Verilator: 3.916 or later
```
sudo apt install verilator
```
Optional reqExcerpt of 39,914 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:371d35f4570388d0, topic:deep-learning, topic:neural-network
matched fp:371d35f4570388d0, topic:onnx