Java programming for high-performance numerical computing

J. E. Moreira, S. P. Midkiff, M. Gupta, P. V. Artigas, M. Snir, R. D. Lawrence

Research output: Contribution to journalArticlepeer-review

Abstract

First proposed as a mechanism for enhancing Web content, the JavaTM language has taken off as a serious general-purpose programming language. Industry and academia alike have expressed great interest in using the Java language 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 a high-performance numerical library, written entirely in the Java language, and on compiler technology. The numerical library takes the form of the Array package for Java. 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.

Original languageEnglish (US)
Pages (from-to)21-56
Number of pages36
JournalIBM Systems Journal
Volume39
Issue number1
DOIs
StatePublished - 2000
Externally publishedYes

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Computer Science(all)
  • Information Systems
  • Computer Graphics and Computer-Aided Design
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Java programming for high-performance numerical computing'. Together they form a unique fingerprint.

Cite this