https://github.com/coreylammie/sst-reproducibility
IOP Semiconductor Science and Technology: Empirical Metal-Oxide RRAM Device Endurance and Retention Model for Deep Learning Simulations
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 2 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Repository
IOP Semiconductor Science and Technology: Empirical Metal-Oxide RRAM Device Endurance and Retention Model for Deep Learning Simulations
Basic Info
Statistics
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Empirical Metal-Oxide RRAM Device Endurance and Retention Model for Deep Learning Simulations
Supplementary GitHub Repository containing code to reproduce results from Empirical Metal-Oxide RRAM Device Endurance and Retention Model for Deep Learning Simulations, published in IOP Semiconductor Science and Technology here.
An accepted version of the manuscript is openly-accessible here.
Abstract
Memristive devices including Resistive Random Access Memory (RRAM) cells are promising nanoscale low-power components projected to achieve significant improvement in power and speed of Deep Learning (DL) accelerators, if structured in crossbar architectures. However, these devices possess non-ideal endurance and retention properties, which should be modeled efficiently. In this paper, we propose a novel generalized Metal-Oxide RRAM endurance and retention model for use in large-scale DL simulations. To the best of our knowledge, the proposed model is the first to unify retention-endurance modeling while taking into account time, energy, SET-RESET cycles, device size, and temperature. We compare the model to state-of-the-art, demonstrate its versatility by applying it to experimental data from fabricated devices. Furthermore, we use the model for CIFAR-10 dataset classification using a large-scale Deep Memristive Neural Network (DMNN) implementing the MobileNetV2 architecture. Our results show that, even when ignoring other device non-idealities, retention and endurance losses significantly affect the performance of DL networks. Our proposed model and its DL simulations are made publicly available.
Reproducibility
We provide a set of Python and MATLAB scripts to reproduce results from Figures 2, 3, 4 and 5. A Python interpreter (⩾3.6), the pip package manager, and MATLAB are required. All other Python dependencies can be installed using pip install -r requirements.txt.
- Results from Figure 2A can be reproduced using plot_2A.py.
- Results from Figure 2B can be reproduced using plot_2B.py.
- Results from Figure 2C can be reproduced using plot_2C.py.
- Results from Figure 2D can be reproduced using plot_2D.py.
- Results from Figure 3A can be reproduced using plot_3A.py.
- Results from Figure 3B can be reproduced using plot_3B.py.
- Results from Figure 3C can be reproduced using plot_3C.py.
- Results from Figure 3D can be reproduced using plot_3D.py.
- Results from Figure 4 can be reproduced using plot_4.py.
- Results from Figure 6A can be reproduced using train_mobilenetv2.py, simulate_6A.py, and plot_6A.m.
- Results from Figure 6B can be reproduced using train_mobilenetv2.py, simulate_6B.py, and plot_6B.m.
- Results from Figure 6C can be reproduced using train_mobilenetv2.py, simulate_6C.py, and plot_6C.m.
- Results from Figure 6D can be reproduced using train_mobilenetv2.py, simulate_6D.py, and plot_6D.m.
- Results from Figure 6E can be reproduced using train_mobilenetv2.py, simulate_6E.py, and plot_6E.m.
- Results from Figure 6F can be reproduced using train_mobilenetv2.py, simulate_6F.py, and plot_6F.m.
- Results from Figure 6G can be reproduced using train_mobilenetv2.py, simulate_6G.py, and plot_6G.m.
- Results from Figure 6H can be reproduced using train_mobilenetv2.py, simulate_6H.py, and plot_6H.m.
General Model
Experimental data from new devices can be fit using helper methods in GeneralModel defined in GeneralModel.py.
License
All code is licensed under the GNU General Public License v3.0. Details pertaining to this are avaliable at: https://www.gnu.org/licenses/gpl-3.0.en.html
Owner
- Name: Corey Lammie
- Login: coreylammie
- Kind: user
- Location: Zürich Switzerland
- Website: coreylammie.me
- Twitter: coreylammie
- Repositories: 3
- Profile: https://github.com/coreylammie
Electrical Engineer & Computer Engineering PhD Candidate 👨🎓
GitHub Events
Total
- Watch event: 2
- Fork event: 1
Last Year
- Watch event: 2
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Corey Lammie | c****e@j****u | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 10
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 10
- 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
- coreylammie (10)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- lmfit *
- matplotlib *
- memtorch *
- numpy *
- pandas *
- scipy *
- torch *
- torchvision *