A comparison of performance-enhancing strategies for parallel numerical object-oriented frameworks [chapter]

Federico Bassetti, Kei Davis, Dan Quinlan
1997 Lecture Notes in Computer Science  
Perforniance short of that of C or FORTRAN 77 is a significant obstacle to general acceptance of object-oriented C++ frameworks in high-performance parallel scientific computing, nonetheless, their value in simplifying complex computations is inarguable. Singular data points of good performance for object-oriented libraries/frameworks have been interesting, but a s,ystematic analysis of the performance issues has not been done. This paper explores just a few of these issues and reports on the
more » ... e of three mechanisms for enhancing the performance of objectori u&f binary overloaded operators (though implemented with substantial internal optimiz,ations) , the second is the use of expression templates, and the third is the use of an optimizing preprocessor. The first two have been completely implemented and are available within the A++/P++ array class library', the third, ROSE++', represents work in progress. This paper provides some perspective on the types of optimizations that we consider important within our own numerical applications using OVERTURE3 invoiving complex geometry and AMR on parallel architectures. ted framework:; within numerical computation. The first is the commonly- /P++ is available from http://www.c3.lanl.gov/cic19/teams/napc/napc.shtml ROSE++ Web Site: htt p://www.c3.lanl.gov/ dquinlan/ROSE.html OVERTURE is available from http://www.c3.lanl.gov/cicl9/teams/napc/napc.shtml
doi:10.1007/3-540-63827-x_39 fatcat:itq25dsdizgndgsmrrkf2t5ezy