Hi

> >> I think the real shortcoming is that there is no Datatype.Resized
> >> function.  That can be fixed.
> > 
> > Are you sure? That would at least solve one problem.
> 
> 
> Here's a first cut at a patch.
> 
> I don't know if this is fully correct; I don't quite understand
> yet how baseSize is used in the .java files, but it seems
> incorrect to me.

I manually applied your patch to openmpi-1.9a1r27668, because
"patch -i resized.patch" couldn't find ompi/mpi/java/c/mpijava.exp
(it seems that this file isn't available in any tar ball). Furthermore
I modified your version of ColumnScatterMain.java.

tyr Squyres 121 diff ColumnScatterMain.java*
11c11
<       Datatype tmp_column_t, column_t;
---
>       Datatype column_t;
31,32c31
<       tmp_column_t = Datatype.Vector (P, 1, Q, MPI.DOUBLE);
<       column_t     = Datatype.Resized (tmp_column_t, 0, 8);
---
>       column_t = Datatype.Vector (P, 1, Q, MPI.DOUBLE);
34d32
<       tmp_column_t.finalize ();


Now I got the correct column values. Do you know how I can get the
size of MPI.DOUBLE or a different datatype (Java doesn't support
"sizeof" as far as I know)? I will rewrite my programs with 2D arrays
so that they only use 1D arrays if Open MPI cannot provide a solution
for Datatype.Vector which supports Java 2D arrays. Thank you very
much for your help.


Kind regards

Siegmar

Reply via email to