Hardware emulation of stochastic p-bits for invertible logic

The common feature of nearly all logic and memory devices is that they make use of stable units to represent 0’s and 1’s. A completely different paradigm is based on three-terminal stochastic units which could be called “p-bits”, where the output is a random telegraphic signal continuously fluctuating between 0 and 1 with a tunable mean. p-bits can be interconnected to receive weighted contributions from others in a network, and these weighted contributions can be chosen to not only solve problems of optimization and inference but also to implement precise Boolean functions in an inverted mode. This inverted operation of Boolean gates is particularly striking: They provide inputs consistent to a given output along with unique outputs to a given set of inputs. The existing demonstrations of accurate invertible logic are intriguing, but will these striking properties observed in computer simulations carry over to hardware implementations? This paper uses individual micro controllers to emulate p-bits, and we present results for a 4-bit ripple carry adder with 48 p-bits and a 4-bit multiplier with 46 p-bits working in inverted mode as a factorizer. Our results constitute a first step towards implementing p-bits with nano devices, like stochastic Magnetic Tunnel Junctions.

[1]  Naoya Onizawa,et al.  VLSI Implementation of Deep Neural Network Using Integral Stochastic Computing , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[2]  S. Datta,et al.  Low-Barrier Nanomagnets as p-Bits for Spin Logic , 2016, IEEE Magnetics Letters.

[3]  Geoffrey E. Hinton,et al.  A Learning Algorithm for Boltzmann Machines , 1985, Cogn. Sci..

[4]  Damien Querlioz,et al.  Spintronic Nanodevices for Bioinspired Computing , 2016, Proceedings of the IEEE.

[5]  Reiner W. Hartenstein,et al.  Field Programmable Logic and Applications , 1999, Lecture Notes in Computer Science.

[6]  Ian Young IEEE Journal on Exploratory Solid-State Computational Devices and Circuits Launches , 2015 .

[7]  Engin Ipek,et al.  Memristive Boltzmann machine: A hardware accelerator for combinatorial optimization and deep learning , 2017, 2017 Fifth Berkeley Symposium on Energy Efficient Electronic Systems & Steep Transistors Workshop (E3S).

[8]  Rizvi Ahmed,et al.  Size and voltage dependence of effective anisotropy in sub-100-nm perpendicular magnetic tunnel junctions , 2016 .

[9]  J. von Neumann,et al.  Probabilistic Logic and the Synthesis of Reliable Organisms from Unreliable Components , 1956 .

[10]  Vincent Gripon,et al.  A Nonvolatile Associative Memory-Based Context-Driven Search Engine Using 90 nm CMOS/MTJ-Hybrid Logic-in-Memory Architecture , 2014, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[11]  Brian R. Gaines,et al.  Stochastic Computing Systems , 1969 .

[12]  Massimiliano Di Ventra,et al.  Experimental demonstration of associative memory with memristive neural networks , 2009, Neural Networks.

[13]  Naoya Onizawa,et al.  Analog-to-Stochastic Converter Using Magnetic Tunnel Junction Devices for Vision Chips , 2016, IEEE Transactions on Nanotechnology.

[14]  Bilge E. S. Akgul,et al.  A Probabilistic CMOS Switch and its Realization by Exploiting Noise , 2005 .

[15]  R. Sindhu Reddy,et al.  DLAU: A Scalable Deep Learning Accelerator Unit on FPGA , 2018 .

[16]  Sachin S. Sapatnekar,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems: Guest Editorial , 2004 .

[17]  Supriyo Datta,et al.  Intrinsic optimization using stochastic nanomagnets , 2016, Scientific Reports.

[18]  John P. Hayes,et al.  Survey of Stochastic Computing , 2013, TECS.

[19]  Emile H. L. Aarts,et al.  Boltzmann machines , 1998 .

[20]  Sumio Hosaka,et al.  Associative memory realized by a reconfigurable memristive Hopfield neural network , 2015, Nature Communications.

[21]  Massimiliano Di Ventra,et al.  Polynomial-time solution of prime factorization and NP-hard problems with digital memcomputing machines , 2015, Chaos.

[22]  Hitoshi Kubota,et al.  Noise-enhanced synchronization of stochastic magnetic oscillators , 2014, 1405.4360.

[23]  Dmitri E. Nikonov,et al.  Benchmarking of Beyond-CMOS Exploratory Devices for Logic Integrated Circuits , 2015, IEEE Journal on Exploratory Solid-State Computational Devices and Circuits.

[24]  Tafsir Thiam,et al.  The Boltzmann machine , 1999, IJCNN'99. International Joint Conference on Neural Networks. Proceedings (Cat. No.99CH36339).

[25]  Rajit Manohar Comparing Stochastic and Deterministic Computing , 2015, IEEE Computer Architecture Letters.

[26]  Hideyuki Suzuki,et al.  Chaotic Boltzmann machines , 2013, Scientific Reports.

[27]  W. J. Poppelbaum,et al.  Stochastic computing elements and systems , 1967, AFIPS '67 (Fall).

[28]  Supriyo Datta,et al.  A building block for hardware belief networks , 2016, Scientific Reports.

[29]  Qi Yu,et al.  DLAU: A Scalable Deep Learning Accelerator Unit on FPGA , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[30]  J. Biamonte Non−perturbative k−body to two−body commuting conversion Hamiltonians and embedding problem instances into Ising spins , 2008, 0801.3800.

[31]  Jason Cong,et al.  IEEE Journal on Emerging and Selected Topics in Circuits and Systems information for authors , 2018, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[32]  Paul Chow,et al.  A high-performance FPGA architecture for restricted boltzmann machines , 2009, FPGA '09.

[33]  E. Moro,et al.  Transition from ferromagnetism to superparamagnetism on the nanosecond time scale , 2002 .

[34]  Naoya Onizawa,et al.  VLSI Implementation of Deep Neural Network Using Integral Stochastic Computing , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[35]  Kunle Olukotun,et al.  A highly scalable Restricted Boltzmann Machine FPGA implementation , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[36]  Masanao Yamaoka,et al.  Computing architecture to perform approximated simulated annealing for Ising models , 2016, 2016 IEEE International Conference on Rebooting Computing (ICRC).

[37]  Brian M. Sutton,et al.  Stochastic p-bits for Invertible Logic , 2016, 1610.00377.

[38]  Daniel J. Amit,et al.  Modeling brain function: the world of attractor neural networks, 1st Edition , 1989 .

[39]  Masanao Yamaoka,et al.  FPGA-based Annealing Processor for Ising Model , 2016, 2016 Fourth International Symposium on Computing and Networking (CANDAR).