ELE 523E COMPUTATIONAL NANOELECTRONICS W7-W8: Probabilistic Computing, 20/10/2014 - 27/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering.

Slides:



Advertisements
Similar presentations
Morgan Kaufmann Publishers
Advertisements

ELE 523E COMPUTATIONAL NANOELECTRONICS W3: Quantum Computing, 22/9/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul Technical.
Class Exercise 1A.
Cambridge, Massachusetts Analog Logic Ben Vigoda.
Weikang Qian Ph.D. Candidate Electrical & Computer Engineering
Xin Li, Weikang Qian, Marc Riedel, Kia Bazargan & David Lilja A Reconfigurable Stochastic Architecture for Highly Reliable Computing Electrical & Computer.
A Probabilistic Approach to Nano- computing J. Chen, J. Mundy, Y. Bai, S.-M. C. Chan, P. Petrica and R. I. Bahar Division of Engineering Brown University.
Proof: Synthesize cubes so that cube c k has n − i k literals and cubes c k and c l are disjoint, for any 0 ≤ k < l ≤ λ − 1. Weikang Qian and Marc D. Riedel.
Marc Riedel The Synthesis of Stochastic Logic for Nanoscale Computation IWLS 2007, San Diego May 31, 2007 Weikang Qian and John Backes Circuits & Biology.
Combinatorial Logic Design Process. Example: Three 1s pattern detector Detect whether a pattern of at least three adjacent 1s occurs anywhere in an 8-bit.
Section 10.3 Logic Gates.
Weikang Qian The Synthesis of Stochastic Logic to Perform Multivariate Polynomial Arithmetic Abstract Ph.D. Student, University of Minnesota Marc D. Riedel.
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS W2: Emerging Computing, 15/9/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul Technical.
ELE 523E COMPUTATIONAL NANOELECTRONICS W1: Introduction, 8/9/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul Technical University.
A Comparison of Deterministic and Stochastic Logic for Image Processing Applications Under the guidance of Dr. Kewal Saluja Presented By Rakesh Roshan.
Shannon’s Expansion Muxes and Encoders. Tri-State Buffers  A tri-state buffer has one input x, one output f and one control line e Z means high impedance,
1 Stochastic Logic Beyond CMOS... Prof. Mingjie Lin.
Nanoscale Digital Computation Through Percolation Mustafa Altun Electrical and Computer Engineering DAC, “Wild and Crazy Ideas” Session ─ San Francisco,
5/31/07IWLS Computing Beyond CMOS Intense research into novel materials and devices: Carbon Nanotubes… Molecular Switches… Biological Processes…
Digital Electronics. Introduction to Number Systems & Codes Digital & Analog systems, Numerical representation, Digital number systems, Binary to Decimal.
Course contents Chapter 1 - section 1.6 Chapter 2 - all sections Chapter – 4.7, and 4.12 Chapter , Chapter 6 - all sections.
Defect Tolerance in Diode, FET, and Four- Terminal Switch based Nano-Crossbar Arrays IEEE/ACM International Symposium on Nanoscale Architectures, NANOARCH.
Bayesian Macromodeling for Circuit Level QCA Design Saket Srivastava and Sanjukta Bhanja Department of Electrical Engineering University of South Florida,
Linear Feedback Shift Register. 2 Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple.
EE5393, Circuits, Computation, and Biology Computing with Probabilities 1,1,0,0,0,0,1,0 1,1,0,1,0,1,1,1 1,1,0,0,1,0,1,0 a = 6/8 c = 3/8 b = 4/8.
EE2420 – Digital Logic Summer II 2013 Hassan Salamy Ingram School of Engineering Texas State University Set 12: Multiplexers, Decoders, Encoders, Shift.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
1 EG 32 Digital Electronics Thought for the day You learn from your mistakes..... So make as many as you can and you will eventually know everything.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
§ 5.3 Normal Distributions: Finding Values. Probability and Normal Distributions If a random variable, x, is normally distributed, you can find the probability.
Universal college of engineering & technology. .By Harsh Patel)
Logic and computers 2/6/12. Binary Arithmetic /6/ Only two digits: the bits 0 and 1 (Think: 0 = F, 1.
Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota.
EHB 111E NANOELECTRONICS Nanoelectronics, 03/12/2013 FALL 2013 Mustafa Altun Electronics & Communication Engineering Istanbul Technical University Web:
ELE 523E COMPUTATIONAL NANOELECTRONICS
Bayesian networks and their application in circuit reliability estimation Erin Taylor.
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS W8-W9: Probabilistic Computing, 2/11/ /11/2015 FALL 2015 Mustafa Altun Electronics & Communication Engineering.
HIGH SCHOOL: Algebra Perform arithmetic operations on polynomials. A-APR.1. Understand that polynomials form a system analogous to the integers, namely,
Logic Gates M. AL-Towaileb1. Introduction Boolean algebra is used to model the circuitry of electronic devices. Each input and each output of such a device.
ELE 523E COMPUTATIONAL NANOELECTRONICS W10: Defects and Reliability, 16/11/2015 FALL 2015 Mustafa Altun Electronics & Communication Engineering Istanbul.
Monte Carlo Analysis of Uncertain Digital Circuits Houssain Kettani, Ph.D. Department of Computer Science Jackson State University Jackson, MS
Sayed Ahmad Salehi Marc D. Riedel Keshab K. Parhi University of Minnesota, USA Markov Chain Computations using Molecular Reactions 1.
Logic Design EE-2121 Manesh T. Digital Systems  Introduction  Binary Quantities and Variables  Logic Gates  Boolean Algebra  Combinational Logic.
Marc Riedel Associate Professor, Electrical and Computer Engineering University of Minnesota ITA – Feb. 14, 2014 (“Singles’ Awareness Day”) Probability.
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
EE5393, Circuits, Computation, and Biology Computing with Probabilities 1,1,0,0,0,0,1,0 1,1,0,1,0,1,1,1 1,1,0,0,1,0,1,0 a = 6/8 c = 3/8 b = 4/8.
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS
ECE 3130 Digital Electronics and Design
High-Speed Stochastic Circuits Using Synchronous Analog Pulses M
A Deterministic Approach to Stochastic Computation
ELE 523E COMPUTATIONAL NANOELECTRONICS
Deep Neural Network with Stochastic Computing
Biological Processes…
Logic Gates L Al-zaid Math110.
Approximate Fully Connected Neural Network Generation
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS
Logic Gates Dr.Halimah Alshehri.
ELE 523E COMPUTATIONAL NANOELECTRONICS
ELE 523E COMPUTATIONAL NANOELECTRONICS
Department of Electronics
ELE 523E COMPUTATIONAL NANOELECTRONICS
ACOE101: Freshman Computer Engineering Fall 2018
Agenda Lecture Content: Combinatorial Circuits Boolean Algebras
Implementation of CMOS Logic Circuits with
Presentation transcript:

ELE 523E COMPUTATIONAL NANOELECTRONICS W7-W8: Probabilistic Computing, 20/10/ /10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul Technical University Web:

Outline  Overview of probabilistic computing  Strengths, weaknesses, and application areas  Stochastic computing with logic gates  Stochastic computing with probabilistic switches  Bayesian networks

Probabilistic Computing Deterministic Subsequent state of the system is determined deterministically Probabilistic Subsequent state of the system is determined probabilistically Deterministic Probabilistic

Why Probabilistic Computing?  Strengths  Easier to implement arithmetic operations.  Works efficiently in encoding/decoding  High degree of transient error tolerance.  Exploit randomness that is a fact in nanoscale.  Used in modeling probabilistic behavior of nanotechnologies.  Weaknesses  Accuracy problems.  Long computational times.

Stochastic Computing Stochastic computing (SC) is a probability computing that depends on random bit streams. 0,1,0,1,1,0,1,0 Random Bit Streams P(x=1) = 4/8 x 0,1,0,0,0,1,0,0 P(y=1) = 2/8 y Stochastic Computing x=4/8 y=2/8 z AND

Random Bit Streams Randomly assigning each bit value  The stream probability p represents the probability of having 1 for each bit  The stream has a binomial distribution in terms of number of 1s  Less accurate Randomly shuffling a bit stream  The stream probability p represents (total number of 1s)/(total number of bits)  The stream has a deterministic behaviour in terms of number of 1s  More accurate

Stochastic Computing Stochastic circuit Probabilistic Deterministic p 1 =2/6, p 2 =2/6, p 3 =2/6, p 4 =1/6, p 5 =5/6, p 6 =2/6

Accuracy of SC x=4/8 y=2/8 z AND 0,1,0,0,0,1,0,0 0,1,0,1,1,0,1,0 0,1,0,0,1,0,0,0 0,1,0,1,1,0,1,0 z=1/8 z=2/8 1,0,0,0,0,1,0,0 0,1,0,1,1,0,1,0 z=0/8 Which one is right?

Accuracy of SC x=4/8 z AND 0,1,0,1,1,0,1,0 z=4/8 Dependency is important! 0,1,0,1,1,0,1,0

Defect Tolerance in SC x=4/8=(0.100) 2 y=2/8=(0.010) 2 AND What if there is a bit-flip in an input? z=1/8=(0.001) 2 0,1,0,0,0,1,0,0 0,1,0,1,1,0,1,0 z=1/8 (0.100) 2 x (0.010) 2 = (0.001) 2

Performance of Randomness Ingredients of “Çiğ Köfte”Kneading “Çiğ Köfte” Ready to serve “Çiğ Köfte” The longer the kneading time the tastier the “Çiğ Köfte”. The longer the kneading time the more homogeneous (accurate) the “Çiğ Köfte”. Heterogeneous to Homogeneous: HOW?

Performance of SC The longer the bit streams the more accurate the computation. The longer the bit streams the more reliable the computation. The longer the bit streams the slower the computation. 0,1,0,1,1,0,1,0,….. Bit Streams

Arithmetic Operations with SC Multiplication: : x x y = z AND 3-bit deterministic multiplier (30 gates) 3-bit stochastic multiplier (1 gate) x=(0.100) 2 y=(0.100) 2 z=(0.010) 2 At least how many bits shoud a stream have? At least how many stream bits for an n-bit multiplier?

Arithmetic Operations with SC Scaled addition: : x(s) + y(1-s) = z x y s z MUX 1,1,1,1,1,0,1,1 0,0,1,0,0,1,1,0 1,0,0,1,0,1,0,11,0,0,1,0,1,0,1 1,0,1,1,0,0,1,11,0,1,1,0,0,1,1 MUX x=7/8, y=3/8, s=4/8, z=5/

Arithmetic Operations with SC Example: Find the expression of z for both stochastic and deterministic inputs applied. x1x1 x2x2 x3x3 x4x4 z 1 0 AND MUX NOT

Synthesis Problem-1 Problem: How to construct a logic circuit in order to implement given output probabilities with a set of input probabilities? P(x = 1) = 0.4 P(z = 1) = 0.6 1,0,1,1,0,1,0,0,0,00,1,0,0,1,0,1,1,1,1 P(z = 1) = P(x = 0) P(x = 1) = 0.4 P(z = 1) = 0.2 0,1,0,1,0,0,1,1,0,0 0,0,0,1,0,0,1,0,0,0 P(z = 1) = P(x = 1) P(y = 1) 1,0,1,1,0,0,1,0,0,1 P(y = 1) = 0.5 P(x = 1) = 0.4 P(z = 1) = 0.3 0,0,1,0,1,0,1,0,1,0 0,1,0,0,0,1,0,0,0,1 P(z = 1) = P(x = 0) P(y = 0) 1,0,0,1,1,0,0,1,1,0 P(y = 1) = 0.5 Example: Implement output probabilities 0.6, 0.2, and 0.3 with using input probabilities of 0.4 and 0.5.

Synthesis Problem-1 Theorem (Qian et al. 2011): With input probabilities = {0.4, 0.5}, we can synthesize arbitrary decimal output probabilities. Example: Synthesize q = (Black dots are inverters) 17

Synthesis Problem-2 Problem: How to construct a logic circuit in order to implement a polynomial g(t) where both t and g(t) are in unit interval?

Synthesis Problem-2 Example: Implement g(t) = 3/8 t 2 + 5/8 t. AND MUX 1 0 t t 3/8 t g(t)g(t)

Synthesis Problem-2 Example: Implement g(t) = t 3 – 2t NOR MUX 1 0 t t t 1 g(t)g(t)

Synthesis Problem-2 Example: Implement g(t) = 9/4 t 2 – 15/8 t + 5/8 and test on g(1/2). t t 5/8 g(t)g(t) t MUX /8 1

Synthesis Problem-2 Theorem (Qian et al. 2012): With using Bernstein polynomials, we can synthesize any polynomial g(t). 22 g(t) = 9/4 t 2 – 15/8 t + 5/8 = 5/8 B B 1 + 1/8 B B 3 B i = probability that the output of the adding unit is i. B 0 = (1-t) 3 B 1 = 3 t(1-t) 2 B 2 = 3 t 2 (1-t) B 3 = t 3 Example: Implement g(t) = 9/4 t 2 – 15/8 t + 5/8.

Probabilistic Switch 0,1,0,1,1,0,1,0 P(x=1) = p = 4/8 x  A probabilistic switch is ON with a probability of p.  Can be implemented with stochastic bit streams.  Can be used to model probabilistic phenomena in nanoscale such as random defects.

Probabilistic Switch

Synthesis Problem Problem: How to construct a circuit in order to implement a given binary decimal numbers using p-switches with p=1/2 ? Example: Implement the output probabilities and with p-switches with p=1/

Synthesis Problem Progressing from the least-significant to the most-significant bits Example: Implement the output probability with p-switches with p=1/2.

Synthesis Problem Binary tree showing how to generate all possible switching circuits (Wilhelm et al. 2008)

Bayesian Network  A probabilistic directed graph model.  To model dependencies between random variables.  Used to model probabilistic behaviors of nano scale networks such as random defects and probabilistic devices.

Conditional Probability P(A | B) : Probability that A happens given that B has happened. Are A and B independent?

Bayesian Network

P(S=T | R=T)=?P(S=T, R=T )=? P(S=T, R=F )=? P(S=F, R=T )=? P(S=F, R=F )=? P(G=T, S=T, R=T )=? P(G=T, S=T | R=T )=?

Bayesian Network P(J, M, A, E, B)=?

Suggested Readings  Wilhelm, D., & Bruck, J. (2008, July). Stochastic switching circuit synthesis. In Information Theory, ISIT IEEE International Symposium on(pp ). IEEE.  Qian, W., & Riedel, M. D. (2008, June). The synthesis of robust polynomial arithmetic with stochastic logic. In Design Automation Conference, DAC th ACM/IEEE (pp ). IEEE.  Alaghi, A., & Hayes, J. P. (2013). Survey of stochastic computing. ACM Transactions on Embedded Computing Systems (TECS), 12(2s), 92.