An evaluation of Java for numerical computing

  • Authors:
  • Brian Blount;Siddhartha Chatterjee

  • Affiliations:
  • (Corresponding author) Department of Computer Science, The University of North Carolina, Chapel Hill, NC 27599-3175, USA Tel.&colon/ +1 919 962 1953&semi/ Fax&colon/ +1 919 962 1799&semi/ E-mail&c ...;Department of Computer Science, The University of North Carolina, Chapel Hill, NC 27599-3175, USA Tel.&colon/ +1 919 962 1953&semi/ Fax&colon/ +1 919 962 1799&semi/ E-mail&colon/ {bblount,sc}@cs.u ...

  • Venue:
  • Scientific Programming
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.