Abstract
Stochastic computing (SC) reduces the complexity of computation by representing numbers with long streams of independent bits. However, increasing performance in SC comes with either an increase in area or a loss in accuracy. Processing in memory (PIM) computes data in-place while having high memory density and supporting bit-parallel operations with low energy consumption. In this article, we propose COSMO, an architecture for computing with stochastic numbers in memory, which enables SC in memory. The proposed architecture is general and can be used for a wide range of applications. It is a highly dense and parallel architecture that supports most SC encodings and operations in memory. It maximizes the performance and energy efficiency of SC by introducing several innovations: (i) in-memory parallel stochastic number generation, (ii) efficient implication-based logic in memory, (iii) novel memory bit line segmenting, (iv) a new memory-compatible SC addition operation, and (v) enabling flexible block allocation. To show the generality and efficiency of our stochastic architecture, we implement image processing, deep neural networks (DNNs), and hyperdimensional (HD) computing on the proposed hardware. Our evaluations show that running DNN inference on COSMO is 141× faster and 80× more energy efficient as compared to GPU.
| Original language | English |
|---|---|
| Article number | 37 |
| Journal | ACM Journal on Emerging Technologies in Computing Systems |
| Volume | 18 |
| Issue number | 2 |
| DOIs | |
| State | Published - Apr 2022 |
Bibliographical note
Publisher Copyright:© 2022 Copyright held by the owner/author(s).
Keywords
- Stochastic computing
- computing in memory
- hyperdimensional computing
- image processing
- memristors
- neural networks
- processing in memory
- reram