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.
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
Keywords from Contributors
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
- Host: GitHub
- Owner: BraiNEdarwin
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://brainspy-smg.readthedocs.io/_autosummary/bspysmg.html
- Size: 530 KB
Statistics
- Stars: 1
- Watchers: 3
- Forks: 19
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
brainspy-smg

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:
- Introduction: Provides a general description behind the background of this project project. These instructions are strongly recommended for new students joining the research group.
- Package description: Gives more information on how the package is structured and the particular usage of files.
- Installation instructions: How to correctly install this package
- User instructions and usage examples: Instructions for users and examples on how brains-py can be used for different purposes
- Developer instructions: Instructions for people wanting to develop brains-py
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:
- Marcus Boon: @Mark-Boon: The initial legacy code for some of the process, as found in SkyNEt repository.
- Srikumar Sastry, Vishu26 (s.s.sastry@student.utwente.nl) : Testing and identification of bugs.
- Dr. ir. Michel P. de Jong @xX-Michel-Xx (m.p.dejong@utwente.nl): Testing and identification of bugs, especially on the installation procedure.
- Mohamadreza Zolfagharinejad @mamrez (m.zolfagharinejad@utwente.nl): Writing of some of the examples in Jupyter notebooks (IV curves and surrogate model generation).
- Antonio J. Sousa de Almeida @ajsousal (a.j.sousadealmeida@utwente.nl):: Checking and upgrading drivers and National Instruments equipment from the labs.
- Bram van de Ven, @bbroo1 (b.vandeven@utwente.nl) : General improvements and testing of the different hardware drivers and devices and documentation.
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
- Website: https://www.utwente.nl/en/brains/
- Twitter: UTwente_NE
- Repositories: 3
- Profile: https://github.com/BraiNEdarwin
University of Twente
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | 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.
- Documentation: https://brainspy.readthedocs.io/
- License: GPL-3.0
-
Latest release: 1.0.2
published over 3 years ago
Rankings
Maintainers (1)
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.
- Homepage: https://github.com/BraiNEdarwin/brainspy-smg
- Documentation: https://brainspy-smg.readthedocs.io/
- License: GPL-3.0
-
Latest release: 1.0.7
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- autoapi *
- brainspy *
- brainspy-smg *
- furo *
- brainspy *
- more_itertools ==8.6.0
- scipy *
- brainspy *