180 likes | 273 Views
multiplication by a constant is sublinear. outline. Introduction The Topic Theory The Double Base Number System Algorithms for SCM DBNS Algorithms Conclusions Comparisons Future Work Question Period. topic. The Single Constant Multiplication Problem (SCM)
E N D
outline • Introduction • The Topic • Theory • The Double Base Number System • Algorithms for SCM • DBNS Algorithms • Conclusions • Comparisons • Future Work • Question Period
topic • The Single Constant Multiplication Problem (SCM) • Multiply an (unknown) integer x by a constant integer c using as few additions and shifts as possible. • Unknown Complexity • Minimize the cost • Previous Works • Recoding Techniques – naïve double and add method, SD method • Bernstein, Lefèvre, Boullis & Tisserand, Dempster & MacLeod
improving current algorithms • Sublinearity of SCM Algorithms: • Conjectured by Lefevre in 2003 • Sublinearity: shown by R.G.E Pinch in 1996
redundancy & sparseness • Very Redundant: • 10 has exactly 5 different unsigned DBNRs • 100 has exactly 402 different unsigned DBNRs • 1000 has exactly 1,295,579 different unsigned DBNRs
DBNS SCM blocking algorithm • Known worst case cost of implementation • Highly configurable • LUT or Greedy • Parameter values • Larger LUT = Lower run time cost
non-trivial block sizes • First alternative: • Left to Right method: • Skip leading 0s, trailing 0s, and partition accordingly • Visual Example: LUT size = 4
non-trivial block sizes • Second alternative: • Right To Left method: • Look for barriers of 0s (i.e. 00 is a barrier size of m = 2) • Visual Example: LUT size = 4, m = 2 (00) • Best results when m = 3 or 4
conclusion • SCM is an interesting and open problem • DBNS for SCM: • Blocking: • Provably sublinear • Simple • Low bit complexity • Known worst case complexity • Extendable to any bit size (with appropriate blocking) • Ideal Parameters have been identified (for 32 and 64 bit constants)
future work • Comparisons with competing methods • Build in hardware • Implement in a compiler • Better comparisons (speed vs area) • MCM problem • Other Blocking Algorithms