Abstract

Spar: a Set of Extensions to Java for Scientific Computation
Kees van Reeuwijk - Delft University of Technology
Frits Kuijlman - Delft University of Technology
Henk J. Sips - Delft University of Technology
In this paper we present a set of language extensions that
improve the expressiveness and performance of Java for scientific
computation. First of all, the language extensions allow the manipulation
of multi-dimensional arrays to be expressed more naturally, and to be
implemented more efficiently. Furthermore, data-parallel programming
is supported, allowing efficient parallelization of a large class of
operations on arrays.  We also provide language extensions to construct
specialized array representations, such as symmetric, block, and sparse
matrices. These extensions are: tuples, parameterized types, array
subscript overloading, and the inline modifier.  These extensions
are not only useful to construct special array representations, but are
also useful in their own right. Finally, we add complex numbers as a
primitive type to the language.
 
We evaluate our language extensions using performance results. We also
compare relevant code fragments of our extended language with standard
Java implementations and language extensions proposed by others.