Abstract
We have created a tool for automatically binding existing native C libraries to Java. With the aid of the Java-to-C Interface generating tool (JCI), the abundance of existing C and Fortran-77 scientific libraries can more easily be made available to Java programmers. We have applied JCI to bind MPI, PBLAS, ScaLAPACK and other libraries to Java. The approach of automatic binding ensures both portability across different platforms and full compatibility with the library specifications. To evaluate the performance of Java code which accesses native libraries, we have run Java versions of parallel benchmarks from the NAS and ParkBench suites. The results obtained on a distributed-memory IBM SP2 machine show the viability of our approach.
Preview
Unable to display preview. Download preview PDF.
References
D. Bailey et al. The NAS parallel benchmarks. Technical Report RNR-94-007, NASA Ames Research Center, 1994. http://science.nas.nasa.gov/Software/NPB.
A.J.C. Bik and D.B. Cannon. A note on native Level 1 BLAS in Java. In [12], 1997.
L.S. Blackford, J. Choi, A. Cleary, E. D'Azevedo, J. Demmel, I. Dhillon, J. Dongarra, S. Hammarling, G. Henry, A. Petitet, K. Stanley, D. Walker, and R.C. Whaley. ScaLAPACK: A linear algebra library for message-passing computers. In SIAM Conference on Parallel Processing, 1997.
G. Burns, R. Daoud, and J. Vaigl. LAM: An open cluster environment for MPI. In Supercomputing Symposium '94, Toronto, Canada, June 1994. http://www.osc.edu/lam.html.
H. Casanova, J.J. Dongarra, and D.M. Doolin. Java access to numerical libraries. In [12], 1997.
J. Choi, J. Dongarra, and D. Walker. PB-BLAS: A set of parallel block basic linear algebra subroutines. In Proceedings of the Scalable High Performance Computing Conference, Knoxville, TN, pages 534–541. IEEE Computer Society Press, 1994.
J. Dongarra and R. Wade.Linpack benchmark-Java version. http://www.netlib.org/benchmark/linpackjava.
S. I. Feldman and P. J. Weinberger. A Portable Fortran 77 Compiler. UNIX Time Sharing System Programmer's Manual, Tenth Edition. AT&T Bell Laboratories, 1990.
J. Gosling, W. Joy, and G. Steele. The Java Language Specification, Version 1.0. Addison-Wesley, Reading, Mass., 1996.
IBM. PE for AIX: MPI Programming and Subroutine Reference. http://www.rs6000.ibm.com/resource/aix-resource/sp-books/pe/.
IBM UK Hursley Lab. Centre for Java Technology Development. http://nec.hursley.ibm.com/javainfo/hurindex.html.
ACM Workshop on Java for Science and Engineering Computation, Las Vegas, Nevada, June 21 1997. To appear in Concurrency: Practice and Experience. http://www.cs.rochester.edu/u/wei/javaworkshop.html.
JavaSoft. Home page. http://www.javasoft.com/.
S. Mintchev and V. Getov. PMPI: High-level message passing in Fortran77 and C. In Bob Hertzberger and P. Sloot, editors, High-Performance Computing and Networking (HPCN'97), pages 603–614, Vienna, Austria, 1997. Springer LNCS 1225.
S. Mintchev and V. Getov. Towards portable message passing in Java: Binding MPI. In Proceedings of EuroPVM-MPI, Kraków, Poland, November, 1997. To appear in Springer LNCS.
MPI Forum. MPI: A message-passing interface standard. International Journal of Supercomputer Applications, 8(3/4), 1994.
PARKBENCH Committe. Parallel kernels and benchmarks home page. http://www.netlib.org/parkbench.
18.PARKBENCH Committe (assembled by R. Hockney and M. Berry). PARKBENCH report-1: Public international benchmarks for parallel computers. Scientific Programming, 3(2):101–146, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag
About this paper
Cite this paper
Mintchev, S., Getov, V. (1997). Automatic binding of native scientific libraries to Java. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-63827-X_53
Download citation
DOI: https://doi.org/10.1007/3-540-63827-X_53
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63827-8
Online ISBN: 978-3-540-69656-8
eBook Packages: Springer Book Archive