Java Programming for High Performance Numerical Computing

        First proposed as a mechanism for enhancing Web content, Java has taken off as a serious general-purpose programming language. Industry and academia alike have expressed great interest in using Java as a programming language for scientific and engineering computations. Applications in these domains are characterized by intensive numerical computing, and often have very high performance requirements. In this paper we discuss programming techniques that lead to Java numerical codes with performance comparable to Fortran or C, the more traditional languages for this field. The techniques are centered around the use of high-performance numerical libraries, written entirely in Java, and on compiler technologies. Proper use of this package, and of other appropriate tools for compiling and running a Java application, results in code that is clean, portable, and fast. We illustrate the programming and performance issues through case studies in data mining and electromagnetism.

By: Jose E. Moreira, Sam Midkiff, Manish Gupta, Pedro Artigas, Marc Snir, Rick Lawrence

Published in: RC21481 in 1999

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RC21481.ps

Questions about this service can be mailed to reports@us.ibm.com .