Pnetcdf New File Format
Wei-keng Liao
wkliao at ece.northwestern.edu
Mon Aug 11 23:06:27 CDT 2008
Hi, Katie,
The development of the new pnetcdf 64bit integer format is still in its
very early stage. Dr. Kui Gao here at Northwestern is working on it.
The reason of why 1D array with more than 2^31 elements is not work is
because the current pnetcdf's implementation calls
MPI_Type_create_subarray() and its arguments are defined as int (32bit
integers). Rob R., Rob L. and we are all aware of this problem. Kui is
implementing an alternative approach now. Once this is done, we will
update the source asap.
As for the integer type, my suggestion is to use MPI_Offset, rather than
int64_t. int64_t is for internal implementation. Using MPI_Offset in
application programs is more portable and consistent.
Wei-keng
On Mon, 11 Aug 2008, Katie Antypas wrote:
> Hi Rob,
>
> I am testing out the new pnetcdf file format which is supposed to allow
> variable sizes greater than 4GB (as long as they have fewer than 2^31
> elements). I am running on the Franklin Cray XT4 system at NERSC with
> the PGI compilers and have not successfully created a 1d variable size
> larger than 4GB. (I'll try multi-dimensions soon.)
>
> I pass "NC_CLOBBER | NC_64BIT_DATA" to ncmpi_create now. Also, I was
> getting type warnings and noticed a new type int64_t in places where
> type int and MPI_Offset were used before in a number of calls. What is
> your recommendation to users regarding the int64_t type? Should they
> replace MPI_Offset with int64_t?
>
> In either case though, if I do or don't make any changes to the ncmpi
> calls (namely ncmpi_create, ncmpi_def_var, ncmpi_put_vara_double_all)
> then I can only create a variable up to 2GB variable size which is under
> 2^31 NC_DOUBLE elements in a 1 dimensional array. (If we were counting
> bytes, rather than doubles my test would be at the 2^31 elements limit.)
> I didn't think this was the way elements were counted though?
>
> Katie
>
>
>
>
>
>
>
>
More information about the parallel-netcdf
mailing list