Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries

Author(s):  
Satish Balay ◽  
William D. Gropp ◽  
Lois Curfman McInnes ◽  
Barry F. Smith
1993 ◽  
Vol 03 (04) ◽  
pp. 419-430 ◽  
Author(s):  
J. MALARD ◽  
C.C. PAIGE

Gossiping is proposed as the preferred communication primitive for replicating pivot data in dense matrix factorization on message passing multicomputer. Performance gains are demonstrated on a hypercube for LU factorization algorithms based on gossiping as opposed to broadcasting. This finding has consequences for the design of numerical software libraries.


2003 ◽  
Vol 11 (4) ◽  
pp. 309-320 ◽  
Author(s):  
Douglas Gregor ◽  
Sibylle Schupp ◽  
David R. Musser

We apply the notion of design patterns to optimizations performed by designers of software libraries, focusing especially on object-oriented numerical libraries. We formalize three design patterns that we have abstracted from many existing libraries and discuss the role of these formalizations as a tool for guiding compiler optimizers. These optimizers operate at a very high level that would otherwise be left unoptimized by traditional optimizers. Finally, we discuss the implementation of a design pattern-based compiler optimizer for C++ abstract data types.


1999 ◽  
Vol 7 (2) ◽  
pp. 97-110 ◽  
Author(s):  
Brian Blount ◽  
Siddhartha Chatterjee

This paper describes the design and implementation of high performance numerical software in Java. Our primary goals are to characterize the performance of object‐oriented numerical software written in Java and to investigate whether Java is a suitable language for such endeavors. We have implemented JLAPACK, a subset of the LAPACK library in Java. LAPACK is a high‐performance Fortran 77 library used to solve common linear algebra problems. JLAPACK is an object‐oriented library, using encapsulation, inheritance, and exception handling. It performs within a factor of four of the optimized Fortran version for certain platforms and test cases. When used with the native BLAS library, JLAPACK performs comparably with the Fortran version using the native BLAS library. We conclude that high‐performance numerical software could be written in Java if a handful of concerns about language features and compilation strategies are adequately addressed.


Sign in / Sign up

Export Citation Format

Share Document