Memristor-based approximate matrix multiplier

The parallel structure of matrix multipliers makes them fascinating candidates to benefit from memristors’ high density architecture. This paper first explains a memristor-based analog vector–matrix multiplier suitable for approximate computing. According to the existence of fast and efficient converters, namely, DACs and ADCs, in the field of approximate computing and the programmability of memristors, the presented vector–matrix multiplier is combined with digital circuits which it leads to a matrix–matrix multiplier as an extension. In this work, opamps’ characteristics such as power and speed, distribution of matrix elements, and memristors’ faults have been considered and their effects on performance, accuracy, and efficiency of the proposed multiplier have been analyzed. Also, a new structure for handling negative numbers has been proposed. All the circuits have been simulated using “Ngspice mixed-signal circuit simulator” in C++ programming environment. The simulation results revealed that the multiplier’s analog core brought gains in terms of performance and energy when acceptable ranges of inaccuracies in results could be tolerated.

[1]  Syed Shakib Sarwar,et al.  Memristor-Based Nonvolatile Random Access Memory: Hybrid Architecture for Low Power Compact Memory Design , 2013, IEEE Access.

[2]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[3]  Farnood Merrikh-Bayat,et al.  Bottleneck of using a single memristive device as a synapse , 2013, Neurocomputing.

[4]  Qinru Qiu,et al.  Towards memristor based accelerator for sparse matrix vector multiplication , 2016, 2016 IEEE International Symposium on Circuits and Systems (ISCAS).

[5]  Karthikeyan Sankaralingam,et al.  Power challenges may end the multicore era , 2013, CACM.

[6]  D. Strukov,et al.  Phenomenological modeling of memristive devices , 2014, 1406.4219.

[7]  Jie Han,et al.  Approximate computing: An emerging paradigm for energy-efficient design , 2013, 2013 18th IEEE European Test Symposium (ETS).

[8]  J. Yang,et al.  Feedback write scheme for memristive switching devices , 2011 .

[9]  Mohammad S Noor,et al.  ナノチューブの成長,整列,キラリティおよび特性における触媒液滴の双極子モーメントの可能な役割 , 2012 .

[10]  Leon O. Chua,et al.  Memristor Networks , 2014, Springer International Publishing.

[11]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[12]  Yu Wang,et al.  Technological Exploration of RRAM Crossbar Array for Matrix-Vector Multiplication , 2015, Journal of Computer Science and Technology.

[13]  Babak Falsafi,et al.  Toward Dark Silicon in Servers , 2011, IEEE Micro.

[14]  Catherine Graves,et al.  Dot-product engine for neuromorphic computing: Programming 1T1M crossbar to accelerate matrix-vector multiplication , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[15]  Kyungmin Kim,et al.  Memristor Applications for Programmable Analog ICs , 2011, IEEE Transactions on Nanotechnology.

[16]  Ligang Gao,et al.  High precision tuning of state for memristive devices by adaptable variation-tolerant algorithm , 2011, Nanotechnology.

[17]  Farnood Merrikh-Bayat,et al.  The Neuro-Fuzzy Computing System With the Capacity of Implementation on a Memristor Crossbar and Optimization-Free Hardware Training , 2012, IEEE Transactions on Fuzzy Systems.

[18]  Georgios Ch. Sirakoulis,et al.  Memristor-Based Nanoelectronic Computing Circuits and Architectures , 2016 .

[19]  Luis Ceze,et al.  General-purpose code acceleration with limited-precision analog computation , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[20]  Janusz A. Starzyk,et al.  Memristor Crossbar Architecture for Synchronous Neural Networks , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.

[21]  Massimiliano Di Ventra,et al.  Practical Approach to Programmable Analog Circuits With Memristors , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[22]  Pat Hanrahan,et al.  Understanding the efficiency of GPU algorithms for matrix-matrix multiplication , 2004, Graphics Hardware.

[23]  St Amant,et al.  Enabling high-performance, mixed-signal approximate computing , 2014 .

[24]  Farshad Merrikh-Bayat,et al.  Programmable discrete-time type I and type II FIR filter design on the memristor crossbar structure , 2014 .

[25]  Farnood Merrikh-Bayat,et al.  Memristive fuzzy edge detector , 2011, Journal of Real-Time Image Processing.

[26]  Gregory S. Snider,et al.  Spike-timing-dependent learning in memristive nanodevices , 2008, 2008 IEEE International Symposium on Nanoscale Architectures.

[27]  D. Stewart,et al.  The missing memristor found , 2008, Nature.

[28]  Karthikeyan Sankaralingam,et al.  Dark silicon and the end of multicore scaling , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[29]  A. Thomas,et al.  Memristor-based neural networks , 2013 .

[30]  R. Williams,et al.  How We Found The Missing Memristor , 2008, IEEE Spectrum.

[31]  Ronald Tetzlaff,et al.  Memristor-based filtering applications , 2013, 2013 14th Latin American Test Workshop - LATW.

[32]  Karthikeyan Sankaralingam,et al.  Relax: an architectural framework for software recovery of hardware faults , 2010, ISCA.

[33]  Leon O. Chua,et al.  Brains Are Made of Memristors , 2014, IEEE Circuits and Systems Magazine.

[34]  Farnood Merrikh-Bayat,et al.  Training and operation of an integrated neuromorphic network based on metal-oxide memristors , 2014, Nature.

[35]  Scott A. Mahlke,et al.  SAGE: Self-tuning approximation for graphics engines , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[36]  L. Chua Memristor-The missing circuit element , 1971 .