Abstract

Stochastic computing is a low-cost form of computing. To perform stochastic computing, inputs need to be converted to stochastic bit streams using stochastic number generators (SNGs). The random number generation presents a significant overhead, which partially defeats the benefits of stochastic computing. In this work, we show that stochastic computing can be implemented in memory, through temporally varying resistive RAM (RRAM) devices. We can take advantage of the temporal variations in the resistance switching of RRAM devices for stochastic computing. By adopting a group write approach, an RRAM memory can be used to generate random bit streams and reshuffle bit streams, accomplishing two essential functions for stochastic computing without expensive SNGs. We demonstrate in-memory stochastic computing in two test applications, a gradient descent solver and a k-means clustering processor.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call