• DocumentCode
    2733419
  • Title

    C++ expression template performance issues in scientific computing

  • Author

    Bassetti, Federico ; Davis, Kei ; Quinlan, Dan

  • Author_Institution
    Div. of Comput. Inf. & Commun., Los Alamos Nat. Lab., NM, USA
  • fYear
    1998
  • fDate
    30 Mar-3 Apr 1998
  • Firstpage
    635
  • Lastpage
    639
  • Abstract
    Ever-increasing size and complexity of software applications and libraries in parallel scientific computing is making implementation in the programming languages traditional for this field-FORTRAN 77 and C-impractical. The major impediment to the progression to a higher-level language such as C++ is attaining FORTRAN 77 or C performance, which is considered absolutely necessary by many practitioners. The use of template metaprogramming in C++, in the form of so-called expression templates to generate custom C++ code, holds great promise for getting C performance from C++ in the context of operations on array-like objects. Several sophisticated expression template implementations of parallel array-class libraries exist, and in certain circumstances their promise of performance is realized. Unfortunately this is not uniformly the case; the paper explores the major reasons for this. A more complete version of this paper may be obtained from http://www.c3.Ianl.gov/-kei/ipps98.html
  • Keywords
    C language; natural sciences computing; object-oriented languages; object-oriented programming; parallel programming; software libraries; software performance evaluation; C++ expression templates performance issues; array-like objects; custom C++ code generation; parallel array-class libraries; parallel scientific computing; scientific computing; software applications; software libraries; template metaprogramming; Computer languages; Concurrent computing; Distributed computing; Impedance; Laboratories; Performance analysis; Programming; Scientific computing; Software libraries; Space technology;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing Symposium, 1998. IPPS/SPDP 1998. Proceedings of the First Merged International ... and Symposium on Parallel and Distributed Processing 1998
  • Conference_Location
    Orlando, FL
  • ISSN
    1063-7133
  • Print_ISBN
    0-8186-8404-6
  • Type

    conf

  • DOI
    10.1109/IPPS.1998.669993
  • Filename
    669993