Skip to main content

Software Carry-Save: A Case Study for Instruction-Level Parallelism

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2763))

Abstract

This paper is a practical study of the performance impact of avoiding data-dependencies at the algorithm level, when targeting recent deeply pipelined, superscalar processors. We are interested in multiple-precision libraries offering the equivalent of quad-double precision. We show that a combination of today’s processors, today’s compilers, and algorithms written in C using a data representation which exposes parallelism, is able to outperform the reference GMP library which is partially written in assembler. We observe that the gain is related to a better use of the processor’s instruction parallelism.

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

Buying options

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 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. GMP, the GNU multi-precision library, http://swox.com/gmp/

  2. IBM accurate portable math. library, http://oss.software.ibm.com/mathlib/

  3. Bailey, D.H.: A Fortran-90 based multiprecision system. ACM Transactions on Mathematical Software 21(4), 379–387 (1995)

    Article  MATH  Google Scholar 

  4. Brent, R.P.: A Fortran multiple-precision arithmetic package. ACM Transactions on Mathematical Software 4(1), 57–70 (1978)

    Article  Google Scholar 

  5. Briggs, K.: Doubledouble floating point arithmetic, http://members.lycos.co.uk/keithmbriggs/doubledouble.html

  6. Daumas, M.: Expansions: lightweight multiple precison arithmetic. In: Architecture and Arithmetic Support for Multimedia, Dagstuhl, Germany (1998)

    Google Scholar 

  7. Defour, D., de Dinechin, F.: Software carry-save for fast multiple-precision algorithms. In: 35th International Congress of Mathematical Software, Beijing, China (2002); Updated version of LIP research report 2002–08

    Google Scholar 

  8. Hennessy, J.L., Patterson, D.A.: Computer architecture: A quantitative approach, 3rd edn. Morgan Kaufmann, San Francisco (2003)

    Google Scholar 

  9. Hida, Y., Li, X.S., Bailey, D.H.: Algorithms for quad-double precision floating-point arithmetic. In: Burgess, N., Ciminiera, L. (eds.) 15th IEEE Symposium on Computer Arithmetic, Vail, Colorado, June 2001, pp. 155–162 (2001)

    Google Scholar 

  10. Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Doklady Akademii Nauk SSSR 145(2), 293–294 (1962)

    Google Scholar 

  11. Koren, I.: Computer arithmetic algorithms. Prentice-Hall, Englewood Cliffs (1993)

    Google Scholar 

  12. Parhami, B.: Computer Arithmetic, Algorithms and Hardware Designs. Oxford University Press, Oxford (2000)

    Google Scholar 

  13. Patt, Y., Grunwald, D., Skadron, K. (eds.): Proceedings of the 29th annual international symposium on Computer architecture. IEEE Computer Society, Los Alamitos (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Defour, D., de Dinechin, F. (2003). Software Carry-Save: A Case Study for Instruction-Level Parallelism. In: Malyshkin, V.E. (eds) Parallel Computing Technologies. PaCT 2003. Lecture Notes in Computer Science, vol 2763. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45145-7_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45145-7_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40673-0

  • Online ISBN: 978-3-540-45145-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics