VDS: Questions about using unlimited dimensions


#1

Hi,
I am planning to use VDS for my application. I am reading the VDS documentation and I am a little confused about the usage of unlimited dimensions specifically with regards to which dimensions in a source and/or virtual dataset can be unlimited.

The Requirements section of the RFC state the following:
A. “If a source dataset has an unlimited dimension, it must be the slowest-changing dimension and the virtual dataset must be the same rank and have the same dimension as unlimited”.

AND

B. “If a virtual dataset has an unlimited dimension that is not the slowest changing dimension, it must use printf formatting for mapping to source datasets”

Based on these, I have the following questions:

  1. Can the virtual dataset have multiple unlimited dimensions?

  2. Can the source datasets that make up a VDS have multiple unlimited dimensions?

  3. The examples provided in the RFC document have dataspaces defined as below:
    dims[RANK] = {10 10 1};
    max_dims = {10 10, H5S_UNLIMITED}
    space_id = H5Screate_simple(RANK, dims, max_dims)

    For C clients, the isn’t the first dimension the slowest varying dimension. Hence shouldn’t the dims and max_dims be:
    dims[RANK] = {1 10 10};
    max_dims = {H5S_UNLIMITED, 10, 10}

OR is all the code in the RFC illustrative.
I am a little confused because all the pseudo-code appears to treat the last dimension to be the slowest-varying unless it is specifically written for FORTRAN clients.

Appreciate any help.

Dinesh