Premium
Spar: a set of extensions to Java for scientific computation
Author(s) -
van Reeuwijk C.,
Kuijlman F.,
Sips H. J.
Publication year - 2003
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.659
Subject(s) - computer science , programming language , java , parameterized complexity , set (abstract data type) , generics in java , tuple , scala , class (philosophy) , generic programming , construct (python library) , block (permutation group theory) , java annotation , code (set theory) , theoretical computer science , computation , implementation , real time java , algorithm , artificial intelligence , mathematics , discrete mathematics , geometry
We present a set of language extensions that improve the expressiveness and performance of Java for scientific computation. 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 in the construction of 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. Copyright © 2003 John Wiley & Sons, Ltd.