On Jan 10, 2013, at 10:33 AM, Yoshiki SATO <yosh...@ci.i.u-tokyo.ac.jp> wrote:

>> Yes -- IIRC, the Java interface isn't really dependent upon anything 
>> specific in the back-end C implementation of Open MPI.  So I'm 
>> guessing/assuming that if you can build it, it should work against the 1.6 
>> OMPI C engine just fine.
> 
> Sounds good :-)  I'm going to try to build it anyway, and let you know if 
> stucked.

Cool.

>> Is MPI-for-Java of interest to you?  I ask because Ralph and I have been 
>> trying to figure out how to get the cycles to do more with the Java 
>> interface (e.g., make it more like a 1:1 set of bindings).  Is this 
>> something you'd be willing to work on / contribute, perchance?
> 
> Yes.  This is because one of our roles is enabling Java applications to run 
> on top of the K computer (Fujitsu), which prevents user processes from TCP/IP 
> communications directly.  It only allows communications via customized 
> openmpi (scheduler) between inter node communications.  

Gotcha.

> BTW, I don't fully understand what a 1:1 set of bindings mean.  I believe 
> that the interfaces defined in mpiJava was carefully designed to match the 
> MPI spec, and then should be a 1:1 set of bindings.  Otherwise, I'm willing 
> to contribute something to make it better ;-)

I think they're *somewhat* close; I don't think that they're exactly a 
one-to-one mapping to the C bindings.  I know that they added the "offset" 
argument for choice buffers, and I can see what that would be necessary.  So 
that should probably stay.

But extras like MPI.OBJECT should probably disappear, and be replaced with 
proper support for Java-isms (e.g., N-dimensional arrays -- see posts from 
Siegmar on the users list about how N-dimensional arrays don't work because 
OMPI is assuming that they'll be contiguous in memory, but Java allocates, for 
example, a 2D array as a series of 1D arrays).  And any other interfaces that 
aren't nearly identical to what the MPI C++ bindings are (were) should probably 
also go, unless there are strong reasons to *need* them.

I've setup a Bitbucket for this Java work, if you would like to contribute.  
It's a branch from the Open MPI SVN trunk; I can keep it up to date.  If you 
send me your Bitbucket ID, I can give you write permissions.

    https://bitbucket.org/jsquyres/ompi-java-revamped

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to