Approximate CPU and GPU Design Using Emerging Memory Technologies

  • Mohsen ImaniEmail author
  • Tajana S. Rosing


Approximate computing trades off energy and accuracy in existing computing systems in order to accelerate computation. In this chapter, we outline examples of novel designs that enable approximation in CPU and GPU. Cores have been approximated by using a small-size associative memory next to each core to store the precomputed results. The associative memory returns precomputed results not only for operands that perfectly matches but also for the inexact matches, providing significant energy savings. If operands do not match closely enough, then exact computation is done. CPUs use associative memory based on nonvolatile memory, in particular memristor technology, to approximate complex functions that tolerate approximation well, while GPUs use associative memory placed next to each floating point unit to accelerate floating point operations. Each of the cores can dynamically adapt their approximation while controlling for accuracy. Our proposed designs can get more than 12.6× energy improvement and 6.6× speedup for CPU-based workloads, and bring 2× improvement in energy efficiency for GPUs, while providing the desired accuracy.


  1. 1.
    Chippa VK, Chakradhar ST et al (2013) Analysis and characterization of inherent application resilience for approximate computing. In: Proceedings of the 50th annual design automation conference. ACM, New YorkGoogle Scholar
  2. 2.
    Han J, Orshansky M (2013) Approximate computing: an emerging paradigm for energy-efficient design. In: 18th IEEE European Test Symposium (ETS). IEEE, PiscatawayGoogle Scholar
  3. 3.
    Imani M, Rahimi A, Rosing T (2016) Resistive configurable associative memory for approximate computing. In: Design, Automation & Test in Europe conference & exhibition (DATE). IEEE, PiscatawayGoogle Scholar
  4. 4.
    Imani M, Peroni D et al (2016) Resistive CAM acceleration for tunable approximate computing. In: Transactions on Emerging Topics in Computing (TETC). IEEE, PiscatawayGoogle Scholar
  5. 5.
    Kohonen T (2012) Associative memory: a system-theoretical approach. Springer, BerlinzbMATHGoogle Scholar
  6. 6.
    Imani M et al (2016) ACAM: Approximate Computing based on Adaptive Associative Memory with online learning. In: International Symposium on Low Power Electronics and Design (ISLPED)Google Scholar
  7. 7.
    Imani M et al (2016) ReMAM: low energy Resistive Multi-stage Associative Memory for energy efficient computing. In: 17th International Symposium on Quality Electronic Design (ISQED)Google Scholar
  8. 8.
    Goel A, Gupta P (2010) Small subset queries and bloom filters using ternary associative memories, with applications. In: SIGMETRICS performance evaluation review. ACM, New YorkCrossRefGoogle Scholar
  9. 9.
    Mohapatra D et al (2011) Design of voltage-scalable meta-functions for approximate computing. In: Design, Automation & Test in Europe conference & exhibition (DATE). IEEE, PiscatawayGoogle Scholar
  10. 10.
    Imani M et al (2017) NVALT: Nonvolatile Approximate Lookup Table for GPU acceleration. In: Embedded systems letters. IEEE, PiscatawayGoogle Scholar
  11. 11.
    Imani M et al (2017) Approximate computing using multiple-access single-charge associative memory. In: Transactions on Emerging Topics in Computing (TETC). IEEE, PiscatawayGoogle Scholar
  12. 12.
    Imani M et al (2017) Efficient query processing in crossbar memory. In: International Symposium on Low Power Electronics and Design (ISLPED). IEEE, PiscatawayGoogle Scholar
  13. 13.
    Guo Q et al (2017) AC-DIMM: associative computing with STT-MRAM. In: SIGARCH computer architecture news. ACM, New YorkGoogle Scholar
  14. 14.
    Imani M et al (2017) Exploring hyperdimensional associative memory. In: International symposium on High Performance Computer Architecture (HPCA). IEEE, PiscatawayGoogle Scholar
  15. 15.
    Lakshminarayanan K et al (2005) Algorithms for advanced packet classification with ternary CAMs. In: SIGCOMM computer communication review. ACM, New YorkCrossRefGoogle Scholar
  16. 16.
    Rahimi A et al (2013) Spatial memoization: concurrent instruction reuse to correct timing errors in SIMD architectures. IEEE Trans Circuits Syst Express Briefs 60:847–851CrossRefGoogle Scholar
  17. 17.
    Jing L et al (2014) 1 Mb 0.41 μm2 2T-2R cell nonvolatile TCAM with two-bit encoding and clocked self-referenced sensing. IEEE J Solid State Circuits 49:896–907CrossRefGoogle Scholar
  18. 18.
    Jing L et al (2009) Nanoscale reconfigurable computing using non-volatile 2-d sttram array. In: 9th IEEE Conference on Nanotechnology. IEEE, PiscatawayGoogle Scholar
  19. 19.
    Yin X et al (2016) Design of latches and flip-flops using emerging tunneling devices. In: Design, Automation & Test in Europe conference & exhibition (DATE). IEEE, PiscatawayGoogle Scholar
  20. 20.
    Imani M et al (2017) Multi-stage tunable approximate search in resistive associative memory. IEEE Trans Multi-Scale Comput Syst 4:17–29CrossRefGoogle Scholar
  21. 21.
    Esmaeilzadeh H et al (2012) Neural acceleration for general-purpose approximate programs. In: Proceedings of the 2012 45th annual IEEE/ACM international symposium on microarchitecture. IEEE, PiscatawayGoogle Scholar
  22. 22.
    Ubal R et al (2012) Multi2Sim: a simulation framework for CPU-GPU computing. In: 21st international conference on parallel architectures and compilation techniques. ACM, New YorkGoogle Scholar
  23. 23.
    Ubal R et al (2009) MMcPAT: an integrated power, area, and timing modeling framework for multicore and manycore architectures. In: Proceedings of the 42nd annual IEEE/ACM international symposium on microarchitecture. IEEE, Piscataway/ACM, New YorkGoogle Scholar
  24. 24.
    Chang MF et al (2015) A 3T1R nonvolatile TCAM using MLC ReRAM with sub-1ns search time. In: International Solid-State Circuits Conference (ISSCC). IEEE, PiscatawayGoogle Scholar
  25. 25.
    Chang MF et al (2015) Shortstop: an on-chip fast supply boosting technique. In: Symposium on VLSI circuits. IEEE, PiscatawayGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.University of California San DiegoLa JollaUSA

Personalised recommendations