H5Part
1.6.6
|
Functions | |
h5part_int64_t | H5MultiBlock3dCalculateDecomp (const int nprocs, h5part_int64_t *decomp) |
h5part_int64_t | H5MultiBlock3dDefineDims (H5PartFile *f, const h5part_int64_t *field_dims, const h5part_int64_t *block_dims) |
h5part_int64_t | H5MultiBlock3dDefineRadii (H5PartFile *f, const h5part_int64_t ri, const h5part_int64_t rj, const h5part_int64_t rk) |
h5part_int64_t | H5MultiBlock3dDefineRadius (H5PartFile *f, const h5part_int64_t r) |
h5part_int64_t | H5MultiBlock3dGetBlockDims (H5PartFile *f, const char *field_name, h5part_int64_t *dims) |
h5part_int64_t | H5MultiBlock3dGetFieldDims (H5PartFile *f, h5part_int64_t *dims) |
h5part_int64_t | H5MultiBlock3dGetOffsetsOfProc (H5PartFile *f, const h5part_int64_t proc, h5part_int64_t *offsets) |
h5part_int64_t | H5MultiBlockShiftProcs (H5PartFile *f, const int shift) |
h5part_int64_t H5MultiBlock3dCalculateDecomp | ( | const int | nprocs, |
h5part_int64_t * | decomp | ||
) |
Finds a 3D block decomposition for an arbitrary number of processors nprocs
.
H5PART_SUCCESS
on successH5PART_ERR_INVAL
if the decomp doesn't have nprocs
blocks nprocs | IN: number of processors/blocks |
decomp | OUT: 3D block decomposition |
h5part_int64_t H5MultiBlock3dDefineDims | ( | H5PartFile * | f, |
const h5part_int64_t * | field_dims, | ||
const h5part_int64_t * | block_dims | ||
) |
Define the field and block dimensions for writing.
H5PART_SUCCESS
on success H5PART_ERR_INVAL
if block dims do not divide field dims h5part_int64_t H5MultiBlock3dDefineRadii | ( | H5PartFile * | f, |
const h5part_int64_t | ri, | ||
const h5part_int64_t | rj, | ||
const h5part_int64_t | rk | ||
) |
Define the radii for halo exchanges between the blocks. Blocks on the edges of the field will be padded with zero values out to the radius.
Different radii can be set for each direction.
H5PART_SUCCESS
on success h5part_int64_t H5MultiBlock3dDefineRadius | ( | H5PartFile * | f, |
const h5part_int64_t | r | ||
) |
Define the radius for halo exchanges between the blocks. Blocks on the edges of the field will be padded with zero values out to the radius.
H5PART_SUCCESS
on success h5part_int64_t H5MultiBlock3dGetBlockDims | ( | H5PartFile * | f, |
const char * | field_name, | ||
h5part_int64_t * | dims | ||
) |
Returns the block dimensions of the last field that was read.
H5PART_SUCCESS
on successH5PART_ERR_INVAL
if no field has been read yet h5part_int64_t H5MultiBlock3dGetFieldDims | ( | H5PartFile * | f, |
h5part_int64_t * | dims | ||
) |
Returns the field dimensions of the last field that was read.
H5PART_SUCCESS
on successH5PART_ERR_INVAL
if no field has been read yet h5part_int64_t H5MultiBlock3dGetOffsetsOfProc | ( | H5PartFile * | f, |
const h5part_int64_t | proc, | ||
h5part_int64_t * | offsets | ||
) |
Return the offsets for the block belonging to processor proc
.
H5PART_SUCCESS
on successH5PART_ERR_INVAL
if proc is invalid h5part_int64_t H5MultiBlockShiftProcs | ( | H5PartFile * | f, |
const int | shift | ||
) |
Shifts the assignment of procs to blocks within the field.
This is useful mainly for I/O benchmarking, in order to defeat the write cache when reading in data that was just written out.
H5PART_SUCCESS