neurosim / DNN_NeuroSim_V1.4

Benchmark framework of compute-in-memory based accelerators for deep neural network (inference engine focused)
53 stars 12 forks source link

NaNs in the ReRAM with conventional sequential #11

Closed pavelgolikov closed 6 months ago

pavelgolikov commented 6 months ago

Good day,

I am experimenting with Neurosim. I am running into a bit of an issue:

I am trying to evaluate the ReRAM in conventional sequential settings. I am using a single linear layer of size 1024. I am attaching the file with my parameter setting changes (the rest are the same as the ones in this repo):

image

I have also modified the input vector to have only 1's in the ProcessingUnit.cpp as follows:

image

When I run these settings, I get NaN's and Infs for some metrics. Please see the image below:

image

Note that when I change the memory cell to SRAM (and everything else is the same), I get normal output:

image

I did some digging and in case of ReRAM for some reason the resistances are all negative, which then results in a NaN when log is applied in "MultilevelSenseAmp::GetColumnLatency(double columnRes)" function later on.

Is there something I am doing wrong?

Best Regards.