Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] How to use non-primitive types with Java binding
From: Saliya Ekanayake (esaliya_at_[hidden])
Date: 2014-01-17 18:26:02


Thank you and this makes sense. In fact we've been trying to avoid
serialization as much as possible because we found it to be a bottleneck.

Anyway I wonder if there are some samples illustrating the use of complex
structures in OpenMPI

Thank you,
Saliya
On Jan 17, 2014 5:20 PM, "Oscar Vega-Gisbert" <ovega_at_[hidden]> wrote:

> MPI.OBJECT is no longer supported because of it was based on
> serialization, and it made the java bindings more complicated. It brought
> more problems than benefits. For example, it was necessary a shadow
> communicator...
>
> You can define complex struct data using direct buffers and avoiding
> serialization. MPI.OBJECT could be implemented in a higher level layer, but
> serialization is very bad for performance...
>
> Regards,
> Oscar
>
> Quoting Saliya Ekanayake <esaliya_at_[hidden]>:
>
> Thank you Oscar. I was using an earlier nightly tarball and in it there
>> was
>> MPI.OBJECT datatype, which I could use with any serializable complex
>> object. It seems this is no longer supported as per your answer or did I
>> get it wrong?
>>
>> Thank you,
>> Saliya
>>
>>
>> On Thu, Jan 16, 2014 at 5:22 PM, Oscar Vega-Gisbert <ovega_at_[hidden]
>> >wrote:
>>
>> Hi,
>>>
>>> If you are talking about types as ArrayList<Double>, it is not possible,
>>> because the Double (D uppercase) is an object which encapsulates a
>>> double.
>>> And the elements of an ArrayList are references (pointers) to Java
>>> objects.
>>>
>>> You can use complex types but you must create them with the Datatype
>>> methods (createVector, createStruct,...). And the buffers that hold the
>>> data must be arrays of a primitive type or direct buffers.
>>>
>>> Regards,
>>> Oscar
>>>
>>>
>>> Quoting Saliya Ekanayake <esaliya_at_[hidden]>:
>>>
>>> Hi,
>>>
>>>>
>>>> Is it possible to use non-primitive types with MPI operations in
>>>> OpenMPI's
>>>> Java binding? At the moment in the trunk I only see Datatypes for
>>>> primitive
>>>> kinds.
>>>>
>>>> Thank you,
>>>> Saliya
>>>>
>>>> --
>>>> Saliya Ekanayake esaliya_at_[hidden]
>>>>
>>>>
>>>>
>>>
>>> ----------------------------------------------------------------
>>> This message was sent using IMP, the Internet Messaging Program.
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>
>>
>> --
>> Saliya Ekanayake esaliya_at_[hidden]
>> Cell 812-391-4914 Home 812-961-6383
>> http://saliya.org
>>
>>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>