From Flop to MegaFlops: Java for Technical Computing

  • Authors:
  • José E. Moreira;Samuel P. Midkiff;Manish Gupta

  • Affiliations:
  • -;-;-

  • Venue:
  • LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
  • Year:
  • 1998

Quantified Score

Hi-index 0.05

Visualization

Abstract

Although there has been some experimentation with Java as a language for numerically intensive computing, there is a perception by many that the language is not suited for such work. In this paper we show how optimizing array bounds checks and null pointer checks creates loop nests on which aggressive optimizations can be used. Applying these optimizations by hand to a simple matrix-multiply test case leads to Java compliant programs whose performance is in excess of 500 Mflops on an RS/6000 SP 332MHz SMP node. We also report in this paper the effect that each optimization has on performance. Since all of these optimizations can be automated, we conclude that Java will soon be a serious contender for numerically intensive computing.