PIO  2.5.4
List of all members | Public Attributes
io_desc_t Struct Reference

IO descriptor structure. More...

#include <pio.h>

Collaboration diagram for io_desc_t:
Collaboration graph
[legend]

Public Attributes

int ioid
 The ID of this io_desc_t.
 
int maplen
 The length of the decomposition map.
 
PIO_Offsetmap
 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_Offsetsindex
 Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writes).
 
PIO_Offsetrindex
 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_regionfirstregion
 Linked list of regions.
 
io_regionfillregion
 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.
 

Detailed Description

IO descriptor structure.

This structure defines the mapping for a given variable between compute and IO decomposition.

Member Data Documentation

◆ llen

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.

◆ remap

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.


The documentation for this struct was generated from the following file: