OoLaLa is an object oriented linear algebra library designed to reduce the eort of software development and maintenance. In contrast with traditional (Fortran-based) libraries, it provides two high abstraction levels that signicantly reduce the number of implementations necessary for particular linear algebra operations. Initial performance evaluations of a Java implementation of OoLaLa show that the two high abstraction levels are not competitive with the low abstraction level of traditional libraries. One of the high abstraction levels is consistently slower than the low abstraction, while the other is slower in most cases. These performance results motivate the present contribution { the characterisation of a set of storage formats (data structures) and matrix properties (special features) for which a set of standard transformations are able to map implementations at the two high abstraction levels into implementations at the low (more ecient) abstraction level.
|
3620
|
Design Patterns. Elements of Reusable Object-Oriented Software
– Gamma, Helm, et al.
- 1998
|
|
291
|
Compiler transformations for high-performance computing
– BACON, GRAHAM, et al.
- 1994
|
|
280
|
Optimization of object-oriented programs using static class hierarchy analysi
– Dean, Grove, et al.
- 1995
|
|
186
|
Fast static analysis of C++ virtual function calls
– Bacon, Sweeney
- 1996
|
|
120
|
Reducing Indirect Function Call Overhead in C++ Programs
– Calder, Grunwald
- 1994
|
|
81
|
Profile-Guided Receiver Class Prediction
– Grove, Dean, et al.
- 1995
|
|
76
|
Recursion Leads To Automatic Variable Blocking For Dense Linear-algebra Algorithms
– Gustavson
- 1997
|
|
72
|
Software libraries for linear algebra computations on high performance computers
– Dongarra, Walker
- 1994
|
|
59
|
Inlining of virtual methods
– Detlefs, Agesen
- 1999
|
|
56
|
Eliminating virtual function calls in C++ programs
– Aigner, Hölzle
- 1996
|
|
38
|
Automatic data structure selection and transformation for sparse matrix computations
– Bik, Wijshoff
- 1996
|
|
38
|
Blocking linear algebra codes for memory hierarchies
– Carr, Kennedy
- 1989
|
|
30
|
Efficient support for complex numbers in Java
– Wu, Midkiff, et al.
- 1999
|
|
26
|
Optimizing array reference checking in Java programs
– Midkiff, Moreira, et al.
- 1998
|
|
17
|
A note on native level 1
– Bik, Gannon
- 1997
|
|
17
|
Optimizing Java programs in the presence of exceptions
– GUPTA, CHOI, et al.
|
|
17
|
Next-generation generic programming and its application to sparse matrix computations
– Mateev, Pingali, et al.
- 2000
|
|
15
|
Simple and eective link-time optimization of Modula-3 programs
– Fernandez
- 1995
|
|
15
|
A Relational Approach to the Compilation of Sparse Matrix Programs
– Kotlyar, Pingali, et al.
- 1997
|
|
14
|
Matrix Computations. The Johns Hopkins University Press, third edition
– Golub, Van-Loan
- 1996
|
|
14
|
A Relational Approach to the Automatic Generation of Sequential Sparse Matrix Codes
– Stodghill
- 1997
|
|
10
|
The cost of being object-oriented: A preliminary study
– Budimlić, Kennedy
- 1999
|
|
10
|
Java and numerical computing
– Boisvert, Moreira, et al.
- 1997
|
|
10
|
A standard Java array package for technical computing
– Moreira, Midki, et al.
- 1999
|
|
9
|
OoLaLa: an object oriented analysis and design of numerical linear algebra
– Luján, Freeman, et al.
- 2000
|
|
8
|
From to mega Java for technical computing
– Moreira, Midki, et al.
- 2000
|
|
7
|
Design and evaluation of a linear algebra package for Java
– Almasi, Gustavson, et al.
- 2000
|
|
7
|
The automatic generation of sparse primitives
– Bik, Brinkhaus, et al.
- 1998
|
|
7
|
Complex numbers for Java. Concurrency: Practice and Experience
– Gunthner, Philippsen
- 2000
|
|
6
|
Java at middle age: Enabling Java for computational science
– Thiruvathukal
- 2002
|
|
5
|
AJaPACK: Experiments in performance portable parallel Java numerical libraries
– Itou, Matsuoka, et al.
- 2000
|
|
5
|
Object oriented linear algebra
– Lujan
- 1999
|
|
3
|
Forum. Document for the Basic Linear Algebra Subprograms Standard
– Technical
- 2001
|
|
1
|
An evaluation of Java for numerical computing. Scienti Programming
– Blount, Chatterjee
- 1999
|
|
1
|
High-performance Java codes for computational dynamics
– Riley, Chaterjee, et al.
- 2001
|