An extended set of FORTRAN basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
ACM Transactions on Mathematical Software (TOMS)
ACM Transactions on Mathematical Software (TOMS)
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
VCODE: a retargetable, extensible, very fast dynamic code generation system
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fast, effective code generation in a just-in-time Java compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
LAPACK Users' guide (third ed.)
LAPACK Users' guide (third ed.)
Basic Linear Algebra Subprograms for Fortran Usage
ACM Transactions on Mathematical Software (TOMS)
Algorithm 539: Basic Linear Algebra Subprograms for Fortran Usage [F1]
ACM Transactions on Mathematical Software (TOMS)
A Comparison of Performance-Enhancing Strategies for Parallel Numerical Object-Oriented Frameworks
ISCOPE '97 Proceedings of the Scientific Computing in Object-Oriented Parallel Environments
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Programming Language, The (4th Edition)
Java(TM) Programming Language, The (4th Edition)
Automatic program transformation with JOIE
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
JavaNws: the network weather service for the desktop
Proceedings of the ACM 2000 conference on Java Grande
OoLALA: an object oriented analysis and design of numerical linear algebra
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic translation of Fortran to JVM bytecode
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
High-performance Java codes for computational fluid dynamics
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
Automatic program specialization for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
JIST: Just-In-Time scheduling translation for parallel processors
Scientific Programming
Design of efficient Java message-passing collectives on multi-core clusters
The Journal of Supercomputing
Device level communication libraries for high-performance computing in Java
Concurrency and Computation: Practice & Experience
Design of scalable Java message-passing communications over InfiniBand
The Journal of Supercomputing
Hi-index | 0.00 |
This paper describes the design and implementation of high performance numerical software in Java. Our primary goals are to characterize the performance of object-oriented numerical software written in Java and to investigate whether Java is a suitable language for such endeavors. We have implemented JLAPACK, a subset of the LAPACK library in Java. LAPACK is a high-performance Fortran 77 library used to solve common linear algebra problems. JLAPACK is an object-oriented library, using encapsulation, inheritance, and exception handling. It performs within a factor of four of the optimized Fortran version for certain platforms and test cases. When used with the native BLAS library, JLAPACK performs comparably with the Fortran version using the native BLAS library. We conclude that high-performance numerical software could be written in Java if a handful of concerns about language features and compilation strategies are adequately addressed.