[saga-rg] proposal for extended file IO

Andre Merzky andre at merzky.net
Tue Jun 14 03:24:24 CDT 2005


Quoting [John Shalf] (Jun 14 2005):
> 
> Should we find some case that causes problems for a readv/pread model?  
> The hyperslabbing is clearly not one of those cases.

Actually, how would you do an HDF5 hyperslab via readv?  The
only way I see is instrumenting the HDF5 library, and write
a readv file driver - but then you would not use SAGA
anyway, that not application level anymore.

If you want to read hyperslabs on an HDF5 file on
application level with readv, you would need to mimic the
HDF5 lib in order to find the offset for the data set, and
would need to know details about HDF5 file structure and
data layout.

Compared to that, eread really is simplier to the
application.  Here an example we used for hyperslabbing a 
3D scalar field:

  snprintf (pattern1, 255, "(%d, %d, %d, %d)"    , start1, stop1, stride1, reps1);
  snprintf (pattern2, 255, "(%d, %d, %d, %d, %s)", start2, stop2, stride2, reps2, pattern1);
  snprintf (pattern3, 255, "(%d, %d, %d, %d, %s)", start3, stop3, stride3, reps3, pattern2);

  res = file.eRead (pattern3, (char*) buf, buffer_size);

start, stop, stride, reps corespond directly to the HDF5
semantics.  So, the semantic info is indeed maintained on
appliation level, and, as you said before, its
interpretation is pushed to lower levels.

How would that look for recv?

Cheers, Andre.

-- 
+-----------------------------------------------------------------+
| Andre Merzky                      | phon: +31 - 20 - 598 - 7759 |
| Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 598 - 7653 |
| Dept. of Computer Science         | mail: merzky at cs.vu.nl       |
| De Boelelaan 1083a                | www:  http://www.merzky.net |
| 1081 HV Amsterdam, Netherlands    |                             |
+-----------------------------------------------------------------+





More information about the saga-rg mailing list