[Debian-med-packaging] Java-help for BBMap needed
Felix Natter
fnatter at gmx.net
Sun Mar 20 17:35:20 UTC 2016
Felix Natter <fnatter at gmx.net> writes:
> hello Andreas,
hello again Andreas,
> Felix Natter <fnatter at gmx.net> writes:
>>> symbol: method getRank()
>>> location: variable COMM_WORLD of type Intracomm
>>> current/stream/mpi/MPIWrapper.java:49: error: cannot find symbol
>>> Shared.MPI_NUM_RANKS=MPI.COMM_WORLD.getSize();
>>> ^
>>> symbol: method getSize()
>>
>> It looks like bbmap requires the methods getRank() and getSize()
>> on mpi.Intracomm, and this method does not seem to be available in
>> mpj-0.42+dfsg.
>> (I couldn't find it in mpj-0.44 either [3] [4])
>>
>> [3] https://sourceforge.net/projects/mpjexpress/files/
>> [4] http://mpjexpress.org/docs/javadocs/mpi/Intracomm.html
>>
>> Maybe we should ask the mpjexpress folks which
>> mpjexpress to use or how to fix/patch bbmap [5]?
>
> I think we need to use Size() [1], Rank() [2] etc
> (probably all methods starting with a capital letter):
>
> [1] http://mpjexpress.org/docs/javadocs/mpi/Comm.html#Size%28%29
> [2] http://mpjexpress.org/docs/javadocs/mpi/Comm.html#Rank%28%29
>
> Can you patch this?
You wrote:
>> the issue below has a simple explanation: I do not need mpj but rather
>> mpi which should be available by enabling the java interface in the
>> openmpi source package.
_Maybe_ you can also use mpjexpress (libmpj-java) [1]?
current/stream/mpi/MPIWrapper.java:82: error: cannot find symbol
MPI.COMM_WORLD.bcast(bLength,1,MPI.INT,0); // can't probe a broadcast, so send message size first
^
symbol: method bcast(int[],int,Datatype,int)
location: variable COMM_WORLD of type Intracomm
current/stream/mpi/MPIWrapper.java:83: error: cannot find symbol
MPI.COMM_WORLD.bcast(b,b.length,MPI.BYTE,0); // broadcast the actual message
^
symbol: method bcast(byte[],int,Datatype,int)
location: variable COMM_WORLD of type Intracomm
by patching this:
Intracomm.getSize() -> Intracomm.Size()
Intracomm.getRank() -> Intracomm.Rank()
Intracomm.bcase(byte[],int,Datatype,int) -> Intracomm.Bcast(Object, int,
Datatype, int)
(I don't know what's "below" this...)
Otherwise, [3] might be worth checking, but adding java support to
openmpi is probably a better solution.
[1] http://mpjexpress.org/docs/javadocs/mpi/Intracomm.html
[2] http://mpjexpress.org/docs/javadocs/mpi/Intracomm.html#Bcast%28java.lang.Object,%20int,%20int,%20mpi.Datatype,%20int%29
[3] www.hpjava.org/mpiJava.html
Cheers and Best Regards,
--
Felix Natter
More information about the Debian-med-packaging
mailing list