brains-py, A framework to support research on energy-efficient unconventional hardware for machine learning

brains-py, A framework to support research on energy-efficient unconventional hardware for machine learning - Published in JOSS (2023)

https://github.com/brainedarwin/brains-py

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

deep-learning dnpu dopant-network hardware
Last synced: 6 months ago · JSON representation

Repository

A python package to support the study of Dopant Network Processing Units as hardware accelerators for non-linear operations. Its aim is to support key functions for hardware setups and algorithms related to searching functionality on DNPUs and DNPU architectures both in simulations and in hardware.

Basic Info
Statistics
  • Stars: 5
  • Watchers: 3
  • Forks: 22
  • Open Issues: 0
  • Releases: 0
Topics
deep-learning dnpu dopant-network hardware
Created over 6 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

brains-py CircleCI Tools Theory

A python package based on PyTorch and NumPy to support the study of Dopant Network Processing Units (DNPUs) [1][2] as low-power computational units in the context of neural networks. The aim of the package is to support key functions for hardware setups and algorithms related to searching functionality on DNPUs and DNPU architectures both in simulations and in hardware. The package is part of the brains-py project, a set of python libraries to support the development of nano-scale in-materio hardware for designing hardware accelerators for neural-network like operations. This package is based on several peer-reviewed scientific publications.

1. Instructions

You can find detailed instructions for the following topics on the wiki:

2. License and libraries

This code is released under the GNU GENERAL PUBLIC LICENSE Version 3. Click here to see the full license. The package relies on the following libraries:

  • General support libraries:
    • PyTorch, NumPy, tensorboard, tqdm and matplotlib
  • Drivers and hardware setups:
    • nidaqmx, pypiwin32
  • Configurations:
    • pyyaml
  • Linting, and testing:
    • unittest, mypy, flake8, coverage

3. Related scientific publications

[1] Chen, T., van Gelder, J., van de Ven, B., Amitonov, S. V., de Wilde, B., Euler, H. C. R., ... & van der Wiel, W. G. (2020). Classification with a disordered dopant-atom network in silicon. Nature, 577(7790), 341-345. https://doi.org/10.1038/s41586-019-1901-0

[2] HCR Euler, U Alegre-Ibarra, B van de Ven, H Broersma, PA Bobbert and WG van der Wiel (2020). Dopant Network Processing Units: Towards Efficient Neural-network Emulators with High-capacity Nanoelectronic Nodes. https://arxiv.org/abs/2007.12371](https://arxiv.org/abs/2007.12371)

[3] HCR Euler, MN Boon, JT Wildeboer, B van de Ven, T Chen, H Broersma, PA Bobbert, WG van der Wiel (2020). A Deep-Learning Approach to Realising Functionality in Nanoelectronic Devices. https://doi.org/10.1038/s41565-020-00779-y

4. Acknowledgements

This package has been created and it is maintained by the Brains team of the NanoElectronics research group at the University of Twente. It has been designed by:

  • Dr. Unai Alegre-Ibarra, @ualegre (u.alegre@utwente.nl): Project lead, including requirements, design, implementation, maintenance, linting tools, testing and documentation (Jupyter notebooks, Wiki and supervision of file by file documentation).
  • Dr. Hans Christian Ruiz-Euler, @hcruiz (h.ruiz@utwente.nl): Initial design and implementation of major features both in this repository and in the legacy SkyNEt repository and in this one.

With the contribution of:

Other minor contributions might have been added, in form of previous scripts that have been improved and restructured from SkyNEt, and the authorship remains of those people who collaborated in it.

This project has received financial support from:

  • University of Twente
  • Dutch Research Council
    • HTSM grant no. 16237
    • Natuurkunde Projectruimte grant no. 680-91-114
  • Horizon Europe research and innovation programme
    • Grant no. 101046878
  • Toyota Motor Europe N.V.
  • Deutsche Forschungsgemeinschaft
    • Project 433682494 – SFB 1459

Owner

  • Name: BRAINS: The Center for Brain-inspired nano systems
  • Login: BraiNEdarwin
  • Kind: organization
  • Email: brains@utwente.nl
  • Location: Netherlands

University of Twente

JOSS Publication

brains-py, A framework to support research on energy-efficient unconventional hardware for machine learning
Published
October 08, 2023
Volume 8, Issue 90, Page 5573
Authors
Unai Alegre-Ibarra ORCID
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Hans-Christian Ruiz Euler
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Humaid A.Mollah
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Bozhidar P. Petrov
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Srikumar S. Sastry
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Marcus N. Boon
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Michel P. de Jong
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Mohamadreza Zolfagharinejad
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Florentina M. j. Uitzetter
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Bram van de Ven
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
António J. Sousa de Almeida
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Sachin Kinge
MESA+ Institute for Nanotechnology & BRAINS Center for Brain-Inspired Nano Systems, University of Twente, Netherlands
Wilfred G. van der Wiel
Advanced Tech., Materials Engineering Div., Toyota Motor Europe, Belgium
Editor
Arfon Smith ORCID
Tags
Dopant network processing units (DNPUs) Material Learning Machine Learning Hardware design Efficient Computing Materials Science

GitHub Events

Total
  • Fork event: 2
Last Year
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,051
  • Total Committers: 12
  • Avg Commits per committer: 87.583
  • Development Distribution Score (DDS): 0.206
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ualegre u****e@u****l 834
hnm27 h****3@g****m 118
Bozhidar Petrov b****v@s****l 40
hcruiz h****r@h****m 38
Srikumar Sastry s****y@s****l 7
Michelangelo 6****1 4
xX-Michel-Xx m****g@u****l 2
Mohamadreza m****3@g****m 2
E E@g****m 2
ualegre u****e@r****m 2
Miedema M****a 1
Fabiana f****1@c****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 66
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 6 days
  • Total issue authors: 1
  • Total pull request authors: 9
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.05
  • Merged pull requests: 61
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wob86 (2)
Pull Request Authors
  • hnm27 (23)
  • ualegre (14)
  • bp-pet (12)
  • hcruiz (7)
  • Vishu26 (4)
  • Mamrez (3)
  • Miedema (1)
  • micbar-21 (1)
  • xX-Michel-Xx (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
pypi.org: brains-py

A python package to support research on different nano-scale materials for creating hardware accelerators in the context of deep neural networks.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 4.8%
Dependent repos count: 6.3%
Forks count: 8.1%
Average: 9.9%
Stargazers count: 20.5%
Last synced: 11 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
brainspy/processors/hardware/drivers/ni/setup.py pypi
docs/sphinx/requirements.txt pypi
  • autoapi *
  • brainspy *
  • furo *
requirements.txt pypi
setup.py pypi