sandialabs / cross-sim

CrossSim: accuracy simulation of analog in-memory computing
Other
117 stars 26 forks source link

Anybody have the source code of neural network simulation of LTP and LTD data of memristor? #21

Open xqli666 opened 5 months ago

xqli666 commented 5 months ago

Anybody have the source code of neural network simulation of LTP and LTD data of memristor?

ptxiao commented 5 months ago

To simulate memristive neural network training accelerators, please use CrossSim v2.0: https://github.com/sandialabs/cross-sim/releases/tag/v2.0 You can find an example script to run a training simulation in /training/ML_training.py.

This code has an option to use LTP and LTD data from memristor devices in the form of conductance update lookup tables. The raw data can be found here: https://github.com/sandialabs/cross-sim-data/tree/main/lookup_tables

xjj19 commented 3 months ago

To simulate memristive neural network training accelerators, please use CrossSim v2.0: https://github.com/sandialabs/cross-sim/releases/tag/v2.0 You can find an example script to run a training simulation in /training/ML_training.py.

This code has an option to use LTP and LTD data from memristor devices in the form of conductance update lookup tables. The raw data can be found here: https://github.com/sandialabs/cross-sim-data/tree/main/lookup_tables

For ADM graphics cards, the following installation package cannot be installed ‘’CuPy 8.3.0 with CUDA 10.2, CuPy 10.3.1 with CUDA 11.2 (if GPU acceleration is enabled)‘’ What should I do to ensure that the program (/training/ML_training.py.) runs correctly?

bfeinberg commented 3 months ago

CuPy support for AMD GPUs using ROCm is currently still experimental, you can find more information here if you are interested: https://docs.cupy.dev/en/stable/install.html#using-cupy-on-amd-gpu-experimental. We've never tested this code using CuPy on ROCm so I have no idea if things will work or perform well, but if you want GPU acceleration with AMD GPUs this is where to start.

Alternatively, if you don't need GPU support you can simply set useGPU to False in the ML_training script: https://github.com/sandialabs/cross-sim/blob/v2.0/training/MLP_training.py#L43. This will use numpy on your CPU and should work.