Hi Rob,

thanks for your reply.

On Wed, Apr 6, 2011 at 1:39 PM, Rob Latham <[email protected]> wrote:

> On Tue, Apr 05, 2011 at 01:55:36PM -0400, Kai Germaschewski wrote:
> > So, on proc 1 want to say:
> >
> > append hyperslab(filespace, <block1>)
> > append hyperslab(memspace, <block1>)
> > append hyperslab(filespace, <block4>)
> > append hyperslab(memspace, <block4>)
> > append hyperslab(filespace, <block3>)
> > append hyperslab(memspace, <block3>)
>
> Is H5Sselect_hyperslab with H5S_SELECT_OR  not sufficient?
>


Unfortunately, no, because that does not preserve the ordering I need. (I
actually tried it, even, but as I suspected, "OR" is commutative but for me
the order matters.)

Actually, I think there's even a non-parallel case where the current
interface is too limiting for me (well, there might well be another way of
doing it, like defining a datatype for an entire block and then doing a list
of such block "points".):

file          proc #1

+----+----+  +------+
|1111|2222|  |......|
|1111|2222|  |.1111.|
+----+----+  |.1111.|
             |......|
             +------+
             |......|
             |.2222.|
             |.2222.|
             |......|
             +------+

In this case, it doesn't even matter whether one selects the filespace with
two OR's or just everything in the first place, the order is going to be
row-by-row "11112222" in the file, and obviously that's not the case in the
memory space, where you first get all of one block, then the other (I'm a C
programmer, but I maintain my fields in Fortran order, if that confuses you
just transpose the global field in the file space and the blocks in memory.)

If the two blocks lived on separate procs, everything would be fine, but
handling the case of more than one block per processor needs something like
a concept of a list of hyperslabs as opposed to a union of hyperslabs.

--Kai




-- 
Kai Germaschewski
Assistant Professor, Dept of Physics / Space Science Center
University of New Hampshire, Durham, NH 03824
office: Morse Hall 245E
phone:  +1-603-862-2912
fax: +1-603-862-2771
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to