Proposal for addressing latest bugs

Rob Ross rross at mcs.anl.gov
Tue Feb 10 15:58:22 CST 2004


Hi all,

RobL and I have been looking at the code today to try to get a handle on 
the issues that Rene and Joachim have brought up recently.  Not sure we've 
gotten them all figured out, but here's what we have so far:

- Move from using size_t to MPI_Offset in the API functions.

  This will give us a clean interface for very large arrays at some future 
  date.  It also clears up what the values should be when passed in, 
  syncing the API with the docs.

- Define some well-known value to be the same value as X_INT_MAX, and use 
  that in range checking.

  X_INT_MAX is used in the code to check that the values passed in for 
  array dimensions etc. are within bounds.  It's sort of a weird define, 
  and is actually defined in a few places (to be the same thing luckily!).  
  We'll drop this in pnetcdf.h so it's available in the tests etc.

- Move to using MPI_Offset from ptrdiff_t in the tests.

- off_t types used throughout the code should probably all be MPI_Offsets 
  too.

This leaves us with two things that we haven't exactly figured out what to 
do with: Joachim's INT_MAX test errors, and the NF_*_IS_C_* problems that 
Rene is having.

We'll get in touch with the Serial netCDF guys to see if they have a
solution to either of these problems that we can port to our version of
the library first -- they are clever guys and might already have figured 
this out.

Comments on all this would very much be appreciated.

Thanks!

Rob




More information about the parallel-netcdf mailing list