1 / 10

mpiJava

mpiJava. Related projects. mpiJava (Syracuse) JavaMPI (Getov et al, Westminster) JMPI (MPI Software Technology) MPIJ (Judd et al, Brigham Young) jmpi (Dincer et al). The mpiJava wrapper. Implements a Java API for MPI suggested in late ‘97. Good Performance on large data transfers

yamal
Download Presentation

mpiJava

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. mpiJava Mark.Baker@Computer.Org

  2. Related projects • mpiJava (Syracuse) • JavaMPI (Getov et al, Westminster) • JMPI (MPI Software Technology) • MPIJ (Judd et al, Brigham Young) • jmpi (Dincer et al)

  3. The mpiJava wrapper • Implements a Java API for MPI suggested in late ‘97. • Good Performance on large data transfers • Tied to native mpi C implementation

  4. mpiJava features. • Fully featured Java interface to MPI 1.1 • Object-oriented API based on MPI 2 standard C++ interface • Initial implementation through JNI to native MPI • Comprehensive test suite translated from IBM MPI suite

  5. MPIprog.java Import mpi.*; JNI C Interface Native Library (MPI) mpiJava - Software Layers

  6. Class hierarchy

  7. Minimal mpiJava program import mpi.* class Hello { static public void main(String[] args) { MPI.Init(args) ; int myrank = MPI.COMM_WORLD.Rank() ; if(myrank == 0) { char[] message = “Hello, there”.toCharArray() ; MPI.COMM_WORLD.Send(message, 0, message.length, MPI.CHAR, 1, 99) ; } else { char[] message = new char [20] ; MPI.COMM_WORLD.Recv(message, 0, 20, MPI.CHAR, 0, 99) ; System.out.println(“received:” + new String(message) + “:”) ; } MPI.Finalize() ; } }

  8. mpiJava performance

  9. MPI datatypes • Send and receive members of Comm: void send(Object buf, int offset, int count, Datatype type, int dst, int tag) ; Status recv(Object buf, int offset, int count, Datatype type, int src, int tag) ; • buf must be an array. offset is the element where message starts. Datatype class describes type of elements.

  10. Basic Datatypes

More Related