|
PIO
2.5.4
|
IO descriptor structure. More...
#include <pio.h>

Public Attributes | |
| int | ioid |
| The ID of this io_desc_t. | |
| int | maplen |
| The length of the decomposition map. | |
| PIO_Offset * | map |
| A 1-D array with iodesc->maplen elements, which are the 1-based mappings to the global array for that task. | |
| int * | remap |
| If the map passed in is not monotonically increasing then map is sorted and remap is an array of original indices of map. More... | |
| int | nrecvs |
| Number of tasks involved in the communication between comp and io tasks. | |
| int | ndof |
| Local size of the decomposition array on the compute node. | |
| int | ndims |
| All vars included in this io_desc_t have the same number of dimensions. | |
| int * | dimlen |
| An array of size ndims with the global length of each dimension. | |
| int | num_aiotasks |
| The actual number of IO tasks participating. | |
| int | rearranger |
| The rearranger in use for this variable. | |
| int | maxregions |
| Maximum number of regions in the decomposition. | |
| bool | needsfill |
| Does this decomp leave holes in the field (true) or write everywhere (false) | |
| bool | needssort |
| If the map is not monotonically increasing we will need to sort it. | |
| int | maxbytes |
| The maximum number of bytes of this iodesc before flushing. | |
| int | piotype |
| The PIO type of the data. | |
| int | piotype_size |
| The size of one element of the piotype. | |
| MPI_Datatype | mpitype |
| The MPI type of the data. | |
| int | mpitype_size |
| The size in bytes of a datum of MPI type mpitype. | |
| PIO_Offset | llen |
| Length of the iobuffer on this task for a single field on the IO node. More... | |
| int | maxiobuflen |
| Maximum llen participating. | |
| int * | rfrom |
| Array (length nrecvs) of computation tasks received from. | |
| int * | rcount |
| Array (length nrecvs) of counts of data to be received from each computation task by the IO tasks. | |
| int * | scount |
| Array (length numiotasks) of data counts to send to each task in the communication in pio_swapm(). | |
| PIO_Offset * | sindex |
| Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writes). | |
| PIO_Offset * | rindex |
| Index for the IO tasks (receive side during writes). | |
| MPI_Datatype * | rtype |
| Array (of length nrecvs) of receive MPI types in pio_swapm() call. | |
| MPI_Datatype * | stype |
| Array of send MPI types in pio_swapm() call. | |
| int | num_stypes |
| Number of send MPI types in pio_swapm() call. | |
| int | holegridsize |
| Used when writing fill data. | |
| int | maxholegridsize |
| max holegridsize across all io tasks, needed for netcdf and netcdf4c serial | |
| int | maxfillregions |
| Used when writing fill data. | |
| io_region * | firstregion |
| Linked list of regions. | |
| io_region * | fillregion |
| Used when writing fill data. | |
| rearr_opt_t | rearr_opts |
| Rearranger flow control options (handshake, non-blocking sends, pending requests) | |
| MPI_Comm | subset_comm |
| In the subset communicator each io task is associated with a unique group of comp tasks this is the communicator for that group. | |
| UT_hash_handle | hh |
| Hash table entry. | |
IO descriptor structure.
This structure defines the mapping for a given variable between compute and IO decomposition.
| PIO_Offset io_desc_t::llen |
Length of the iobuffer on this task for a single field on the IO node.
The arrays from compute nodes gathered and rearranged to the io-nodes (which are sometimes collocated with compute nodes), each io task contains data from the compmap of one or more compute tasks in the iomap array.
| int* io_desc_t::remap |
If the map passed in is not monotonically increasing then map is sorted and remap is an array of original indices of map.
Remap.
1.8.17