1 / 30

ELE 523E COMPUTATIONAL NANOELECTRONICS

Mustafa Altun Electronics & Communication Engineering Istanbul Technical University Web: http://www.ecc.itu.edu.tr/. ELE 523E COMPUTATIONAL NANOELECTRONICS. W5-W6: Probabilistic Computing, 21/10/2013 - 4/11/2013. FALL 2013. Outline. Overview of probabilistic computing

karim
Download Presentation

ELE 523E COMPUTATIONAL NANOELECTRONICS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MustafaAltun Electronics & Communication Engineering Istanbul Technical University • Web: http://www.ecc.itu.edu.tr/ ELE 523E COMPUTATIONALNANOELECTRONICS W5-W6: Probabilistic Computing, 21/10/2013- 4/11/2013 FALL 2013

  2. Outline • Overview of probabilistic computing • Strengths, weaknesses, andapplicationareas • Stochastic computing with logic gates • Stochastic computing with probabilistic switches • Bayesian networks

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

  4. WhyProbabilistic 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.

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

  6. StochasticComputing • Stochasticcircuit Probabilistic Deterministic Probabilistic p1=2/6, p2=2/6, p3=2/6, p4=1/6, p5=5/6, p6=2/6

  7. Accuracy of SC x=4/8 AND z y=2/8 0,1,0,1,1,0,1,0 z=1/8 0,1,0,0,0,1,0,0 Whichone is right? 0,1,0,1,1,0,1,0 z=2/8 0,1,0,0,1,0,0,0 0,1,0,1,1,0,1,0 z=0/8 1,0,0,0,0,1,0,0

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

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

  10. Performance of SC Bit Streams 0,1,0,1,1,0,1,0,….. The longer thebit streams the more accuratethecomputation. The longerthe bit streams the more reliablethecomputation. The longer thebit streams the slowerthecomputation.

  11. Arithmetic Operations with SC Multiplication: : xx y= z 3-bit deterministicmultiplier (30 gates) 3-bit stochasticmultiplier (1 gate) x=(0.100)2 AND z=(0.010)2 y=(0.100)2 At least how many bits shoud a stream have? At least how many streambitsfor an n-bitmultiplier?

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

  13. Arithmetic Operations with SC Example: Find theexpression of zforbothstochasticanddeterministicinputsapplied. x1 1 AND x2 z MUX NOT x3 0 x4

  14. Synthesis Problem-1 Problem: How to construct a logic circuit in order to implement given output probabilitieswith a set of inputprobabilities? Example: Implementoutputprobabilities0.6, 0.2, and0.3withusinginputprobabilities of 0.4and0.5. P(x = 1) = 0.4 P(x = 1) = 0.4 0,0,1,0,1,0,1,0,1,0 0,1,0,1,0,0,1,1,0,0 P(z = 1) = 0.3 P(z = 1) = 0.2 P(z = 1) = 0.6 P(x = 1) = 0.4 0,1,0,0,0,1,0,0,0,1 0,0,0,1,0,0,1,0,0,0 1,0,1,1,0,1,0,0,0,0 0,1,0,0,1,0,1,1,1,1 1,0,0,1,1,0,0,1,1,0 1,0,1,1,0,0,1,0,0,1 P(y = 1) = 0.5 P(y = 1) = 0.5 P(z = 1) = P(x = 0) P(z = 1) = P(x = 0) P(y = 0) P(z = 1) = P(x = 1) P(y = 1)

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

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

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

  18. Synthesis Problem-2 Example: Implementg(t) = t3 – 2t2+ 1. t NOR 1 t g(t) MUX 1 0 t

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

  20. Synthesis Problem-2 Theorem(Qian et al. 2012):WithusingBernsteinpolynomials, we can synthesize anypolynomialg(t). Example: Implementg(t) = 9/4t2 – 15/8 t + 5/8. g(t) = 9/4t2 – 15/8 t + 5/8 = 5/8 B0+0 B1+ 1/8 B2+ 1 B3 Bi = probabilitythattheoutput of theaddingunit is i. B0 = (1-t)3 B1 = 3 t(1-t)2 B2 = 3 t2(1-t) B3 = t3

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

  22. Probabilistic Switch

  23. Synthesis Problem Problem:How to construct a circuit in order to implement a given binary decimal numbers usingp-switcheswithp=1/2? Example: Implementtheoutputprobabilities0.112 and 0.0112with p-switcheswithp=1/2. 0.112 0.0112

  24. Synthesis Problem Example: Implementtheoutputprobability0.10112with p-switcheswithp=1/2. Progressing from the least-significant to the most-significant bits

  25. Synthesis Problem Binarytreeshowinghowtogenerateallpossibleswitchingcircuits (Wilhelm et al. 2008)

  26. Bayesian Network • A probabilistic directed graph model. • To model dependencies between randomvariables. • Used to model probabilistic behaviors ofnanoscale networkssuch as random defectsandprobabilistic devices.

  27. ConditionalProbability P(A | B): Probability that A happens given that B has happened. AreAandBindependent?

  28. Bayesian Network

  29. Bayesian Network P(S=T| R=T)=? P(S=T, R=T)=? P(G=T , S=T, R=T)=? P(S=T, R=F)=? P(G=T , S=T| R=T)=? P(S=F, R=T)=? P(S=F, R=F)=?

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

More Related