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
         
        
        
            fDate : 
30 Mar-3 Apr 1998
         
        
        
        
            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;
         
        
        
        
            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
         
        
        
            Print_ISBN : 
0-8186-8404-6
         
        
        
            DOI : 
10.1109/IPPS.1998.669993