SCORPIO  1.7.0
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. More...
 
int maplen
 The length of the decomposition map. More...
 
PIO_Offsetmap
 A 1-D array with iodesc->maplen elements, which are the 1-based mappings to the global array for that task. More...
 
int nrecvs
 Number of tasks involved in the communication between comp and io tasks. More...
 
int ndof
 Local size of the decomposition array on the compute node. More...
 
int ndims
 All vars included in this io_desc_t have the same number of dimensions. More...
 
int * dimlen
 An array of size ndims with the length of each dimension. More...
 
int num_aiotasks
 The actual number of IO tasks participating. More...
 
int rearranger
 The rearranger in use for this variable. More...
 
int maxregions
 Maximum number of regions in the decomposition. More...
 
bool needsfill
 Does this decomp leave holes in the field (true) or write everywhere (false) More...
 
int maxbytes
 The maximum number of bytes of this iodesc before flushing. More...
 
int piotype
 The PIO type of the data. More...
 
int piotype_size
 The size of one element of the piotype. More...
 
MPI_Datatype mpitype
 The MPI type of the data. More...
 
int mpitype_size
 The size in bytes of a datum of MPI type mpitype. More...
 
PIO_Offset llen
 Length of the iobuffer on this task for a single field on the IO node. More...
 
PIO_Offset maxiobuflen
 Maximum llen participating. More...
 
int * rfrom
 Array (length nrecvs) of computation tasks received from. More...
 
int * rcount
 Array (length nrecvs) of counts of data to be received from each computation task by the IO tasks. More...
 
int * scount
 Array (length numiotasks) of data counts to send to each task in the communication in pio_swapm(). More...
 
PIO_Offsetsindex
 Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writes). More...
 
PIO_Offsetrindex
 Index for the IO tasks (receive side during writes). More...
 
MPI_Datatype * rtype
 Array (of length nrecvs) of receive MPI types in pio_swapm() call. More...
 
MPI_Datatype * stype
 Array of send MPI types in pio_swapm() call. More...
 
int num_stypes
 Number of send MPI types in pio_swapm() call. More...
 
int holegridsize
 Used when writing fill data. More...
 
int maxholegridsize
 max holegridsize across all io tasks, needed for netcdf and netcdf4c serial More...
 
int maxfillregions
 Used when writing fill data. More...
 
io_regionfirstregion
 Linked list of regions. More...
 
io_regionfillregion
 Used when writing fill data. More...
 
rearr_opt_t rearr_opts
 Rearranger flow control options (handshake, non-blocking sends, pending requests) More...
 
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. More...
 
struct io_desc_tnext
 Pointer to the next io_desc_t in the list. More...
 

Detailed Description

IO descriptor structure.

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

Member Data Documentation

◆ dimlen

int* io_desc_t::dimlen

An array of size ndims with the length of each dimension.

◆ fillregion

io_region* io_desc_t::fillregion

Used when writing fill data.

◆ firstregion

io_region* io_desc_t::firstregion

Linked list of regions.

◆ holegridsize

int io_desc_t::holegridsize

Used when writing fill data.

◆ ioid

int io_desc_t::ioid

The ID of this io_desc_t.

◆ 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.

◆ map

PIO_Offset* io_desc_t::map

A 1-D array with iodesc->maplen elements, which are the 1-based mappings to the global array for that task.

◆ maplen

int io_desc_t::maplen

The length of the decomposition map.

◆ maxbytes

int io_desc_t::maxbytes

The maximum number of bytes of this iodesc before flushing.

◆ maxfillregions

int io_desc_t::maxfillregions

Used when writing fill data.

◆ maxholegridsize

int io_desc_t::maxholegridsize

max holegridsize across all io tasks, needed for netcdf and netcdf4c serial

◆ maxiobuflen

PIO_Offset io_desc_t::maxiobuflen

Maximum llen participating.

◆ maxregions

int io_desc_t::maxregions

Maximum number of regions in the decomposition.

◆ mpitype

MPI_Datatype io_desc_t::mpitype

The MPI type of the data.

◆ mpitype_size

int io_desc_t::mpitype_size

The size in bytes of a datum of MPI type mpitype.

◆ ndims

int io_desc_t::ndims

All vars included in this io_desc_t have the same number of dimensions.

◆ ndof

int io_desc_t::ndof

Local size of the decomposition array on the compute node.

◆ needsfill

bool io_desc_t::needsfill

Does this decomp leave holes in the field (true) or write everywhere (false)

◆ next

struct io_desc_t* io_desc_t::next

Pointer to the next io_desc_t in the list.

◆ nrecvs

int io_desc_t::nrecvs

Number of tasks involved in the communication between comp and io tasks.

◆ num_aiotasks

int io_desc_t::num_aiotasks

The actual number of IO tasks participating.

◆ num_stypes

int io_desc_t::num_stypes

Number of send MPI types in pio_swapm() call.

◆ piotype

int io_desc_t::piotype

The PIO type of the data.

◆ piotype_size

int io_desc_t::piotype_size

The size of one element of the piotype.

◆ rcount

int* io_desc_t::rcount

Array (length nrecvs) of counts of data to be received from each computation task by the IO tasks.

◆ rearr_opts

rearr_opt_t io_desc_t::rearr_opts

Rearranger flow control options (handshake, non-blocking sends, pending requests)

◆ rearranger

int io_desc_t::rearranger

The rearranger in use for this variable.

◆ rfrom

int* io_desc_t::rfrom

Array (length nrecvs) of computation tasks received from.

◆ rindex

PIO_Offset* io_desc_t::rindex

Index for the IO tasks (receive side during writes).

◆ rtype

MPI_Datatype* io_desc_t::rtype

Array (of length nrecvs) of receive MPI types in pio_swapm() call.

◆ scount

int* io_desc_t::scount

Array (length numiotasks) of data counts to send to each task in the communication in pio_swapm().

◆ sindex

PIO_Offset* io_desc_t::sindex

Array (length ndof) for the BOX rearranger with the index for computation taks (send side during writes).

◆ stype

MPI_Datatype* io_desc_t::stype

Array of send MPI types in pio_swapm() call.

◆ subset_comm

MPI_Comm io_desc_t::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.


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