Skip to main content

How Low Can You Go?

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11403))

Abstract

It could be said that much of the evolution of computers has been the quest to make use of the exponentially-growing amount of on-chip circuitry that Moore predicted in 1965 – a trend that many now claim is coming to an end [1]. Whether that rate slows or not, it is no longer the driver; there is already more circuitry than can be continuously powered. The immediate future of parallel language and compiler technology should be less about finding and using parallelism and more about maximizing the return on investment of power.

Programming language constructs generally operate on data words, and so does most compiler analysis and transformation. However, individual word-level operations often harbor pointless, yet power hungry, lower-level operations. This paper suggests that parallel compilers should not only be identifying and manipulating massive parallelism, but that the analysis and transformations should go all the way down to the bit or gate level with the goal of maximizing parallel throughput per unit of power consumed. Several different ways in which compiler analysis can go lower than word-level are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Fletcher, S.: Computing after Moore’s Law. Scientific American, 1 May 2015. https://www.scientificamerican.com/article/moores-law-computing-after-moores-law/

  2. Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall, Upper Saddle River (1978). ISBN 0-13-110163-3

    MATH  Google Scholar 

  3. Klerer, M., May, J.: Two-dimensional programming. In: Proceedings of the 30 November–1 December 1965, Fall Joint Computer Conference, Part I, pp. 63–75 (1965)

    Google Scholar 

  4. AMD: Radeon Instinct MI25. http://instinct.radeon.com/_downloads/radeon-instinct-mi25-datasheet-15.6.17.pdf. Accessed July 2017

  5. IEEE: IEEE Standard for Binary Floating Point Arithmetic Std 754–1985 (1985)

    Google Scholar 

  6. Dietz, H., Dieter, B., Fisher, R., Chang, K.: Floating-point computation with just enough accuracy. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3991, pp. 226–233. Springer, Heidelberg (2006). https://doi.org/10.1007/11758501_34

    Chapter  Google Scholar 

  7. Chugh, M., Parhami, B.: Logarithmic arithmetic as an alternative to floating-point: a review. In: 2013 Asilomar Conference on Signals, Systems and Computers, pp. 1139–1143 (2013)

    Google Scholar 

  8. Fisher, R.J., Dietz, H.G.: Compiling for SIMD within a register. In: Chatterjee, S., Prins, J.F., Carter, L., Ferrante, J., Li, Z., Sehr, D., Yew, P.-C. (eds.) LCPC 1998. LNCS, vol. 1656, pp. 290–305. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48319-5_19. ISBN 978-3-540-48319-9

    Chapter  Google Scholar 

  9. Lento, G.: Optimizing Performance with Intel Advanced Vector Extensions. Intel White Paper, September 2014

    Google Scholar 

  10. ARM: NEON. https://developer.arm.com/technologies/neon. Accessed July 2017

  11. Waterman, A., Asanovic, K. (eds.): The RISC-V instruction set manual, volume 1: user-level ISA, Document Version 2.2. RISC-V Foundation, May 2017

    Google Scholar 

  12. Dietz, H.: Common subexpression induction. Technical report, TR-EE 92–5. School of Electrical Engineering, Purdue University, January 1992

    Google Scholar 

  13. Wilkes, M.V.: EDSAC 2. IEEE Ann. Hist. Comput. 14(4), 49–56 (1992). ISSN 1058-6180

    Article  Google Scholar 

  14. Advanced Micro Devices: The Am 2900 Family Data Book With Related Support Circuits. Advanced Micro Devices (1979)

    Google Scholar 

  15. Reddaway, S.F.: DAP - a distributed array processor. In: Proceedings of the 1st Annual Symposium on Computer Architecture, pp. 61–65, ACM Press (1973)

    Google Scholar 

  16. Batcher, K.E.: STARAN parallel processor system hardware. In: National Computer Conference, pp. 405–410 (1974)

    Google Scholar 

  17. Batcher, K.: Design of a massively parallel processor. IEEE Trans. Comput. C–29(9), 836–840 (1980)

    Article  Google Scholar 

  18. Tucker, L.W., Robertson, G.G.: Architecture and applications of the connection machine. IEEE Comput. 21(8), 26–38 (1988)

    Article  Google Scholar 

  19. Morely, R.E., Sullivan, T.J.: A massively parallel systolic array processor system. In: Proceedings of the International Conference on Systolic Arrays, pp. 217–225 (1988)

    Google Scholar 

  20. Blank, T.: The MasPar MP-1 architecture. In: Thirty-Fifth IEEE Computer Society International Conference, Compcon, pp. 20–24 (1990)

    Google Scholar 

  21. Dietz, H.G., Arcot, S.D., Gorantla, S.: Much ado about almost nothing: compilation for nanocontrollers. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 466–480. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24644-2_30

    Chapter  MATH  Google Scholar 

  22. Sawada, J., et al.: TrueNorth ecosystem for brain-inspired computing: scalable systems, software, and applications. In: IEEE/ACM SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 130–141 (2016)

    Google Scholar 

  23. Brayton, R.K., Sangiovanni-Vincentelli, A.L., McMullen, C.T., Hachtel, G.D.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Dordrecht (1984). ISBN 0898381649

    Book  Google Scholar 

  24. Patel, R.B., Ho, J., Ferreyrol, F., Ralph, T.C., Pryde, G.J.: A quantum Fredkin gate. Sci. Adv. 2(3) (2016)

    Google Scholar 

  25. Dietz, H.G.: Spring 2017 EE599-006/EE699-007 optimizing compilers, “hardly software” class project. Electrical and Computer Engineering Department, University of Kentucky, 5 May 2017

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Henry Dietz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Dietz, H. (2019). How Low Can You Go?. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2017. Lecture Notes in Computer Science(), vol 11403. Springer, Cham. https://doi.org/10.1007/978-3-030-35225-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-35225-7_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-35224-0

  • Online ISBN: 978-3-030-35225-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics