https://github.com/brainedarwin/brainspy-smg

A python package created and maintained by the Brains team of the NanoElectronics group at the University of Twente for (mostly) automated generation of surrogate models of boron-doped silicon chips, supporting its creation throughout its development life-cycle.

https://github.com/brainedarwin/brainspy-smg

Science Score: 23.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

deep-learning dnpu hardware

Keywords from Contributors

dopant-network
Last synced: 5 months ago · JSON representation

Repository

A python package created and maintained by the Brains team of the NanoElectronics group at the University of Twente for (mostly) automated generation of surrogate models of boron-doped silicon chips, supporting its creation throughout its development life-cycle.

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

README.md

brainspy-smg CircleCI Tools Theory

Automatised generation of deep neural-network based surrogate models of multi-terminal nano-electronic devices, particularly it is focused on dopant-network processing units (DNPUs) [1]. The library provides support for the whole life-cycle of a surrogate model:

  • Device preparation: Depending on its properties, such as the material type, devices can exhibit different behaviours. Before the training step, there is a device preparation step, where the IV curves for different selected activation electrodes are studied in different conditions. This library helps visualising the IV curves not only for a single device, but for multiple devices at the same time, enabling to study them simultaneously.
  • Data acquisition: The data are sampled using sinusoidal or triangular modulated input signals to minimize capacitive transient effects. The frequencies, amplitudes and offsets of these functions for each activation electrode are given by the voltage ranges chosen during the IV curve observation stage. Frequencies are proportional to the square root of prime numbers. Since the ratio of any two frequencies is irrational, it guarantees a good coverage of the multi-dimensional input voltage space and prevents any recurrence of voltage combinations. In order to have an even quicker coverage, the phase of inputs signals can be randomly shifted. More information can be found in [3].
  • Model training: A model is trained using a Pytorch based neural network. The user can customise the size of the neural network as well as the activation functions used for this model. The tool produces error plots of the trained surrogate model on all training, validation and test datasets. It also saves relevant information about how the data was acquired, how the model was trained, and other relevant electrode information that is required for using surrogate models in brains-py.
  • Model maintenance: It could be that devices change its behaviour after receiving abrupt changes in temperature or high voltages. In order to check if a model is still behaving as the original hardware, some consistency checks are provided, that help understand the differences between the actual signal of the device, and the signal from the surrogate model, compared to the original data that was gathered for training the device.

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, Pytorch-Lightning, NumPy, tensorboard, more_itertools and matplotlib
  • It also uses brains-py and all its related libraries.

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. Classification with a disordered dopant-atom network in silicon | Nature

[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%5D(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. A deep-learning approach to realizing functionality in nanoelectronic devices | Nature Nanotechnology

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
  • Toyota Motor Europe N.V.

Owner

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

University of Twente

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 311
  • Total Committers: 6
  • Avg Commits per committer: 51.833
  • Development Distribution Score (DDS): 0.322
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 211
Srikumar Sastry s****y@s****l 49
hcruiz h****r@h****m 37
Mamrez m****3@g****m 11
Vishu26 s****7@g****m 2
Unai Alegre-Ibarra u****a@u****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 30
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Total issue authors: 0
  • Total pull request authors: 5
  • Average comments per issue: 0
  • Average comments per pull request: 0.03
  • Merged pull requests: 27
  • 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
Pull Request Authors
  • Vishu26 (17)
  • Mamrez (6)
  • ualegre (3)
  • hcruiz (3)
  • ajsousal (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 29 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 11
  • Total maintainers: 1
pypi.org: brainspy

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

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 17 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 11.6%
Average: 20.0%
Downloads: 38.5%
Maintainers (1)
Last synced: 6 months ago
pypi.org: brainspy-smg

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

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 12 Last month
Rankings
Forks count: 8.7%
Dependent packages count: 10.1%
Dependent repos count: 11.6%
Average: 22.8%
Stargazers count: 38.8%
Downloads: 44.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • autoapi *
  • brainspy *
  • brainspy-smg *
  • furo *
requirements.txt pypi
  • brainspy *
  • more_itertools ==8.6.0
  • scipy *
setup.py pypi
  • brainspy *