The DNN+NeuroSim framework was developed by Prof. Shimeng Yu's group (Georgia Institute of Technology). The model is made publicly available on a non-commercial basis. Copyright of the model is maintained by the developers, and the model is distributed under the terms of the Creative Commons Attribution-NonCommercial 4.0 International Public License
:star2: This is the released version 1.3 (Mar 22, 2021) for the tool, and this version has improved following inference engine estimation:
1. Validate with real silicon data.
2. Add synchronous and asynchronous mode.
3. Update technology file for FinFET.
4. Add level shifter for eNVM.
:point_right: :point_right: :point_right: In "Param.cpp", to switch mode:
validated = true; // false: no calibration factor // true: validated by silicon data
synchronous = true; // false: asynchronous // true: synchronous, clkFreq decided by sensing delay
:star2: This version has also added three default examples for quick start:
1. VGG8 on cifar10
8-bit "WAGE" mode pretrained model is uploaded to './log/VGG8.pth'
3. DenseNet40 on cifar10
8-bit "WAGE" mode pretrained model is uploaded to './log/DenseNet40.pth'
5. ResNet18 on imagenet
"FP" mode pretrained model is loaded from 'https://download.pytorch.org/models/resnet18-5c106cde.pth'
:point_right: :point_right: :point_right: To quickly start inference estimation of default models (skip training)
python inference.py --dataset cifar10 --model VGG8 --mode WAGE
python inference.py --dataset cifar10 --model DenseNet40 --mode WAGE
python inference.py --dataset imagenet --model ResNet18 --mode FP
_For estimation of on-chip training accelerators, please visit released V2.1 DNN+NeuroSim V2.1_
In Pytorch/Tensorflow wrapper, users are able to define network structures, precision of synaptic weight and neural activation. With the integrated NeuroSim which takes real traces from wrapper, the framework can support hierarchical organization from device level to circuit level, to chip level and to algorithm level, enabling instruction-accurate evaluation on both accuracy and hardware performance of inference.
Developers: Xiaochen Peng :two_women_holding_hands: Shanshi Huang :two_women_holding_hands: Anni Lu.
This research is supported by NSF CAREER award, NSF/SRC E2CDA program, and ASCENT, one of the SRC/DARPA JUMP centers.
If you use the tool or adapt the tool in your work or publication, you are required to cite the following reference:
X. Peng, S. Huang, Y. Luo, X. Sun and S. Yu, ※DNN+NeuroSim: An End-to-End Benchmarking Framework for Compute-in-Memory Accelerators with Versatile Device Technologies, § IEEE International Electron Devices Meeting (IEDM), 2019.
If you have logistic questions or comments on the model, please contact :man: Prof. Shimeng Yu, and if you have technical questions or comments, please contact :woman: Xiaochen Peng or :woman: Shanshi Huang or :woman: Anni Lu.
Documents/DNN NeuroSim V1.3 Manual.pdf
Get the tool from GitHub
git clone https://github.com/neurosim/DNN_NeuroSim_V1.3.git
Train the network to get the model for inference (can be skipped by using pretrained default models)
Compile the NeuroSim codes
make
Run Pytorch/Tensorflow wrapper (integrated with NeuroSim)
For the usage of this tool, please refer to the manual.