H5Part
1.6.6
|
Functions | |
h5part_int64_t | H5Block3dGetPartitionOfProc (H5PartFile *f, const h5part_int64_t proc, h5part_int64_t *i_start, h5part_int64_t *i_end, h5part_int64_t *j_start, h5part_int64_t *j_end, h5part_int64_t *k_start, h5part_int64_t *k_end) |
h5part_int64_t | H5Block3dGetProcOf (H5PartFile *f, h5part_int64_t i, h5part_int64_t j, h5part_int64_t k) |
h5part_int64_t | H5Block3dGetReducedPartitionOfProc (H5PartFile *f, h5part_int64_t proc, h5part_int64_t *i_start, h5part_int64_t *i_end, h5part_int64_t *j_start, h5part_int64_t *j_end, h5part_int64_t *k_start, h5part_int64_t *k_end) |
h5part_int64_t | H5BlockDefine3DChunkDims (H5PartFile *f, const h5part_int64_t i, const h5part_int64_t j, const h5part_int64_t k) |
h5part_int64_t | H5BlockDefine3DFieldLayout (H5PartFile *f, const h5part_int64_t i_start, const h5part_int64_t i_end, const h5part_int64_t j_start, const h5part_int64_t j_end, const h5part_int64_t k_start, const h5part_int64_t k_end) |
h5part_int64_t | H5BlockGet3DChunkDims (H5PartFile *f, const char *field_name, h5part_int64_t *dims) |
h5part_int64_t | H5BlockGetFieldInfo (H5PartFile *f, const h5part_int64_t idx, char *field_name, const h5part_int64_t len_field_name, h5part_int64_t *grid_rank, h5part_int64_t *grid_dims, h5part_int64_t *field_rank, h5part_int64_t *type) |
h5part_int64_t | H5BlockGetFieldInfoByName (H5PartFile *f, const char *field_name, h5part_int64_t *grid_rank, h5part_int64_t *grid_dims, h5part_int64_t *field_rank, h5part_int64_t *type) |
h5part_int64_t | H5BlockGetNumFields (H5PartFile *f) |
h5part_int64_t | H5BlockHasFieldData (H5PartFile *f) |
h5part_int64_t H5Block3dGetPartitionOfProc | ( | H5PartFile * | f, |
const h5part_int64_t | proc, | ||
h5part_int64_t * | i_start, | ||
h5part_int64_t * | i_end, | ||
h5part_int64_t * | j_start, | ||
h5part_int64_t * | j_end, | ||
h5part_int64_t * | k_start, | ||
h5part_int64_t * | k_end | ||
) |
Return partition of processor proc
as specified with H5BlockDefine3dLayout()
.
H5PART_SUCCESS
on success.H5PART_ERR_INVAL
if proc is invalid. f | IN: File handle |
proc | IN: Processor to get partition from |
i_start | OUT: start index of i |
i_end | OUT: end index of i |
j_start | OUT: start index of j |
j_end | OUT: end index of j |
k_start | OUT: start index of k |
k_end | OUT: end index of k |
h5part_int64_t H5Block3dGetProcOf | ( | H5PartFile * | f, |
h5part_int64_t | i, | ||
h5part_int64_t | j, | ||
h5part_int64_t | k | ||
) |
Returns the processor computing the reduced (ghostzone-free) partition given by the coordinates i
, j
and k
.
H5PART_SUCCESS
or error code f | IN: File handle |
i | IN: i coordinate |
j | IN: j coordinate |
k | IN: k coordinate |
h5part_int64_t H5Block3dGetReducedPartitionOfProc | ( | H5PartFile * | f, |
h5part_int64_t | proc, | ||
h5part_int64_t * | i_start, | ||
h5part_int64_t * | i_end, | ||
h5part_int64_t * | j_start, | ||
h5part_int64_t * | j_end, | ||
h5part_int64_t * | k_start, | ||
h5part_int64_t * | k_end | ||
) |
Return reduced (ghost-zone free) partition of processor proc
as specified with H5BlockDefine3dLayout()
.
H5PART_SUCCESS
on success.H5PART_ERR_INVAL
if proc is invalid. f | IN: File handle |
proc | IN: Processor to get partition from |
i_start | OUT: start index of i |
i_end | OUT: end index of i |
j_start | OUT: start index of j |
j_end | OUT: end index of j |
k_start | OUT: start index of j |
k_end | OUT: end index of j |
h5part_int64_t H5BlockDefine3DChunkDims | ( | H5PartFile * | f, |
const h5part_int64_t | i, | ||
const h5part_int64_t | j, | ||
const h5part_int64_t | k | ||
) |
Define the chunk dimensions and enable chunking in the underlying HDF5 dataset.
H5PART_SUCCESS
on success f | IN: File handle |
i | IN: size of i |
j | IN: size of j |
k | IN: size of k |
h5part_int64_t H5BlockDefine3DFieldLayout | ( | H5PartFile * | f, |
const h5part_int64_t | i_start, | ||
const h5part_int64_t | i_end, | ||
const h5part_int64_t | j_start, | ||
const h5part_int64_t | j_end, | ||
const h5part_int64_t | k_start, | ||
const h5part_int64_t | k_end | ||
) |
Defines the partition of the field that this processor owns, using Fortran ordering: the fastest moving index is i
.
This routine uses an MPI_Allgather, so at large concurrency it should be called as infrequently as possible. For instance, if several timesteps use the same field dimensions, set the layout only once before the first timestep.
H5PART_SUCCESS
on successH5PART_ERR_MPI
H5PART_ERR_HDF5
f | IN: File handle |
i_start | IN: start index of i |
i_end | IN: end index of i |
j_start | IN: start index of j |
j_end | IN: end index of j |
k_start | IN: start index of k |
k_end | IN: end index of k |
h5part_int64_t H5BlockGet3DChunkDims | ( | H5PartFile * | f, |
const char * | field_name, | ||
h5part_int64_t * | dims | ||
) |
Lookup the chunk dimensions of the underlying HDF5 dataset.
H5PART_SUCCESS
on success f | IN: File handle |
field_name | IN: name of dataset |
dims | OUT: array containing the chunk dimensions |
h5part_int64_t H5BlockGetFieldInfo | ( | H5PartFile * | f, |
const h5part_int64_t | idx, | ||
char * | field_name, | ||
const h5part_int64_t | len_field_name, | ||
h5part_int64_t * | grid_rank, | ||
h5part_int64_t * | grid_dims, | ||
h5part_int64_t * | field_rank, | ||
h5part_int64_t * | type | ||
) |
Get the name, rank and dimensions of the field specified by the index idx
.
This function can be used to retrieve all fields bound to the current time-step by looping from 0
to the number of fields minus one. The number of fields bound to the current time-step can be queried by calling the function H5BlockGetNumFields()
.
H5PART_SUCCESS
or error code f | IN: file handle |
idx | IN: index of field |
field_name | OUT: field name |
len_field_name | IN: buffer size |
grid_rank | OUT: grid rank |
grid_dims | OUT: grid dimensions |
field_rank | OUT: field rank |
type | OUT: datatype |
h5part_int64_t H5BlockGetFieldInfoByName | ( | H5PartFile * | f, |
const char * | field_name, | ||
h5part_int64_t * | grid_rank, | ||
h5part_int64_t * | grid_dims, | ||
h5part_int64_t * | field_rank, | ||
h5part_int64_t * | type | ||
) |
Get the rank and dimensions of the field specified by its name.
H5PART_SUCCESS
or error code f | IN: file handle |
field_name | IN: field name |
grid_rank | OUT: grid rank |
grid_dims | OUT: grid dimensions |
field_rank | OUT: field rank |
type | OUT: datatype |
h5part_int64_t H5BlockGetNumFields | ( | H5PartFile * | f | ) |
Query number of fields in current time step.
H5PART_SUCCESS
or error code f | IN: file handle |
h5part_int64_t H5BlockHasFieldData | ( | H5PartFile * | f | ) |
Checks whether the current time-step has field data or not.
H5PART_SUCCESS
if field data is available otherwise H5PART_ERR_NOENTRY
. f | IN: file handle |