Design and evaluation of a linear algebra package for Java

G. Almasi, F. G. Gustavson, J. E. Moreira
2000 Proceedings of the ACM 2000 conference on Java Grande - JAVA '00  
This paper describes the design of a high-performance linear algebra library for Java. Linear algebra libraries such as ESSL and LAPACK are important tools of computational science and engineering, and have been available to C and Fortran programmers for quite a while. If Java is to become a serious language for the development of large scale numerical applications, it must provide equivalent functionality. From the many possible alternatives to accomplish this goal, we took the approach of
more » ... gning a linear algebra library entirely in Java. This approach leads to good portability and maintainability of the code. It is also a good test of how far we can push Java performance. We adopted an object-oriented design in which the linear algebra operations are implemented as strategy design pattems. The higher level algorithms, optimized for the memory hierarchies of present-clay machines, are described in a type independent manner. Type specific methods capture the lower level optimizations for operations on matrices of single-precision, double-precision, or complex numbers. We evaluate the performance of our linear algebra package on three different machines. Our preliminary results show that our Java library achieves up to 85% of the performance of the highly optimized ESSL.
doi:10.1145/337449.337534 dblp:conf/java/AlmasiGM00 fatcat:c7xjyvvhtbcatdbw2gphgvc2zq