Presentation is loading. Please wait.

Presentation is loading. Please wait.

Espresso Speedup ee219b project Yujia Jin. Presentation Overview Unate reduction for SCCC (reduce) –weakly unate –strongly unate –results Single sweep.

Similar presentations


Presentation on theme: "Espresso Speedup ee219b project Yujia Jin. Presentation Overview Unate reduction for SCCC (reduce) –weakly unate –strongly unate –results Single sweep."— Presentation transcript:

1 Espresso Speedup ee219b project Yujia Jin

2 Presentation Overview Unate reduction for SCCC (reduce) –weakly unate –strongly unate –results Single sweep g’ calculation (irredundant) –weakly unate and tautology –results

3 Unate Reduction for SCCC (weak) A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m Example sccc weak 11111 1110 1100 11111 1100 0011 11111 1111 0100 10010 1010 0101 11100 1100 1011 11111 1110 1100 11111 1100 0011 ------------------------------------ 11111 1111 0100 sccc Remove row [A i X i ] with multiple active variables in A i

4 Unate Reduction for SCCC (weak) A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m Proof SCC[(A’ 1 +X’ 1 )(A’ 2 + X’ 2 )(A’ m + X’ m )C’] let A 1 = a 1 a 2 a m where a 1, a 2,, a m are multi-valued literals of different variables so A’ 1 = a’ 1 +a’ 2 +a’ 3 =SCC[(a’ 1 +a’ 2 ++a’ n +X’ 1 )(A’ 2 + X’ 2 )(A’ m + X’ m )C’] =SCC[(a’ 1 +a’ 2 ++a’ n +X’ 1 )(P 1 + P 2 ++ P n )C’] P i exists because A j is weakly unate =SCC[a’ 1 P 1 +a’ 2 P 1 ++ a’ 1 P n +a’ 2 P n + O.T.)C’]

5 Unate Reduction for SCCC (weak) A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m Proof (cont.) =SCC[a’ 1 P 1 +a’ 2 P 1 ++ a’ 1 P n +a’ 2 P n + O.T.)C’] =SCC{SCC[(a’ 1 P 1 +a’ 2 P 1 ++ a’ 1 P n +a’ 2 P n )C’]+ SCC[(O.T.)C’]} SCC[(a’ 1 P 1 +a’ 2 P 1 ++a’ 1 P n +a’ 2 P n )C’] = SCC[(P 1 +a’ 2 P 1 ++P n +a’ 2 P n )C’] because a 1, a 2, and p i C contains different variables. If a’ 1 is in scc then a’ 2 P 1 can’t contain points in a’ 1, contradiction. So eliminating a’ 1 is fine. =SCC[1 P 1 +a’ 2 P 1 ++ 1 P n +a’ 2 P n + O.T.)C’] = SCC[(1+a’ 2 ++a’ n +X’ 1 )(A’ 2 + X’ 2 )(A’ m + X’ m )C’] =SCC[(A’ 2 + X’ 2 )(A’ m + X’ m )C’]

6 Unate Reduction for SCCC (strong) Group all singletons with the same active variable together –Let all singletons with the same active variable be (a 1 X i + +a 1 X k )+(a 2 X m + + a 2 X c )+ + (a n X p + + a n X q ), where a 1  a 2   a n is the strongly unate order. a’ i  SCCC iff 1)Tautology(C+  X k ), where X k is s.t. [a k X k ] has a k  a i, and 2) for every a k s.t. a k  a i 1) is false A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m

7 Unate Reduction for SCCC (strong) Example A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m 10010 1010 0101 11100 1100 1011 11111 1110 1100 11111 1100 0011 ------------------------------------ 11111 1111 0100 sccc strong a 2 {2, 3} sccc 11111 1111 0100 a 2 {0, 1} weak sccc 11111 1110 1100 11111 1100 0011 ----------------------- 11111 1111 0100 for 1110, check taut 1100 0100 = false for 1100, check taut 1100 0011 0100 = true

8 Unate Reduction for SCCC (strong) Proof –Given all singletons with variable “a” are (a 1 X i + +a 1 X k )+(a 2 X m + + a 2 X c )+ + (a n X p + + a n X q ), where a 1  a 2   a n is the strongly unate order. –a’ i  SCCC iff 1)Tautology(C+  X k ), where X k is s.t. [a k X k ] has a k  a i 2) for every a k s.t. a k  a i 1) is false A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m SCC[(a’ 1 +X’ i )(a’ 1 + X’ k )(a’ 2 +X’ m )(a’ 2 + X’ c ) (a’ n +X’ p )(a’ n + X’ q )(P.O.S.)C’] =SCC[(a’ 1 +X’ i X’ k )(a’ 2 +X’ m X’ c ) (a’ n +X’ p X’ q )(P.O.S.)C’] Let X’ i X’ k =Y 1, X’ m X’ c =Y 2,, X’ p X’ q = Y n =SCC[(a’ 1 +Y 1 )(a’ 2 +Y 2 ) (a’ n +Y n )(P.O.S.)C’] foil then reduce by strongly unate property =SCC[(a’ 1 + a’ 2 Y 1 +a’ 3 Y 1 Y 2 ++a’ n Y 1 Y 2 Y n-1 +Y 1 Y 2 Y n )(P.O.S.)C’]

9 Unate Reduction for SCCC (strong) A doesn’t contain full row T is a full sub-matrix A X T C M = unate vars binate vars A X = A 1 X 1 A 2 X 2 A m X m =SCC[(a’ 1 + a’ 2 Y 1 +a’ 3 Y 1 Y 2 ++a’ n Y 1 Y 2 Y n-1 +Y 1 Y 2 Y n )(P.O.S.)C’] if i is the smallest i s.t. Y 1 Y 2 Y i C’=0 or Taut(Y’ 1 +Y’ 2 + +Y’ i +C) then =SCC[(a’ 1 + a’ 2 Y 1 +a’ 3 Y 1 Y 2 ++a’ i Y 1 Y 2 Y i-1 )(P.O.S.)C’] implying a’ i  SCC, so can replace all remaining a k with a i =SCC[(a’ i + a’ i Y 1 +a’ i Y 1 Y 2 ++a’ i Y 1 Y 2 Y i-1 )(P.O.S.)C’] =SCC[(a’ i )(P.O.S.)C’] =a’ i SCC[(P.O.S.)C’] if such i does not exist =SCC[(a’ 1 + a’ 2 Y 1 +a’ 3 Y 1 Y 2 ++a’ n Y 1 Y 2 Y n-1 +Y 1 Y 2 Y n )(P.O.S.)C’] =SCC[(1+ 1Y 1 +a’ i Y 1 Y 2 ++1Y 1 Y 2 Y i-1 )(P.O.S.)C’] =SCC[(P.O.S.)C’] Proof (cont.)

10 Results

11 One Sweep g’ Calculation rfD F FDFD c cofactor process divides input space into orthogonal regions FDFD c’ rfD F rfD F rfD F empty matrix (discard) tautology matrix rfD F F, a cover for (f, d, r), D a cover for d

12 One Sweep g’ Calculation contained in DC (discard) Remove all full rows will uncover onset point(s). So add a term in g’ by multiplying together all cube variables (negated) corresponding to full rows rfD F rfD F rfD F tautology leaves rfD F unate, tautology leaves rfD F

13 One Sweep g’ Calculation FDFD Cofactor till weakly unate leaves with tautology In cofactor process discard empty leaves and leaves with full row in D For remaining leaves, form a term for each leaf in g’ by anding together cubes corresponding to full rows

14 Example F=xy’+xz’+yz’+x’z+y’z, D=x’y FDFD = xy’+xz’+yz’+x’z+y’z+x’y a b c d e 1+z’+0+0+z+00+0+z’+z+0+1 nothing 0+0+0+z+z+0 0+z’+z’+0+0+0 yy’y 1+1+0+0+0+0 a’b’ z’ 0+1+1+0+0+0 b’c’ 0+0+0+0+1+1 d’e’ 1+0+0+0+1+0 a’e’ zz’ z 0+0+yz’+z+y’z+y y’+z’+yz’+0+y’z+0 xx’ g’= b’c’+a’e’+a’b’+d’e’

15 Optimization Use full row check as tautology check Once full row exists, add unate reduction. Cofactor choice before full row exists –use most binate variable –try to obtain a full row fast find a row closest to full row and cofactor against its active variables to make it full

16 Results

17 Conclusion Developed method for sccc unate reduction with weak and strong unateness Developed method for one sweep g’ calculation. But no speed up.


Download ppt "Espresso Speedup ee219b project Yujia Jin. Presentation Overview Unate reduction for SCCC (reduce) –weakly unate –strongly unate –results Single sweep."

Similar presentations


Ads by Google