SCORPIO  1.7.0
List of all members | Classes | Public Attributes
iosystem_desc_t Struct Reference

IO system descriptor structure. More...

#include <pio.h>

Collaboration diagram for iosystem_desc_t:
Collaboration graph
[legend]

Classes

struct  async_ios_msg_info_
 Async I/O service message info. More...
 

Public Attributes

int iosysid
 The ID of this iosystem_desc_t. More...
 
char sname [PIO_MAX_NAME+1]
 
MPI_Comm union_comm
 This is an MPI intra communicator that includes all the tasks in both the IO and the computation communicators. More...
 
MPI_Comm io_comm
 This is an MPI intra communicator that includes all the tasks involved in IO. More...
 
MPI_Comm comp_comm
 This is an MPI intra communicator that includes all the tasks involved in computation. More...
 
MPI_Comm intercomm
 This is an MPI inter communicator between IO communicator and computation communicator. More...
 
MPI_Comm my_comm
 This is a copy (but not an MPI copy) of either the comp (for non-async) or the union (for async) communicator. More...
 
MPI_Group compgroup
 This MPI group contains the processors involved in computation. More...
 
MPI_Group iogroup
 This MPI group contains the processors involved in I/O. More...
 
int num_iotasks
 The number of tasks in the IO communicator. More...
 
int num_comptasks
 The number of tasks in the computation communicator. More...
 
int num_uniontasks
 The number of tasks in the union communicator (will be num_comptasks for non-async, num_comptasks + num_iotasks for async). More...
 
int union_rank
 Rank of this task in the union communicator. More...
 
int comp_rank
 The rank of this process in the computation communicator, or -1 if this process is not part of the computation communicator. More...
 
int io_rank
 The rank of this process in the IO communicator, or -1 if this process is not part of the IO communicator. More...
 
int iomaster
 Set to MPI_ROOT if this task is the master of IO communicator, 0 otherwise. More...
 
int compmaster
 Set to MPI_ROOT if this task is the master of comp communicator, 0 otherwise. More...
 
int ioroot
 Rank of IO root task (which is rank 0 in io_comm) in the union communicator. More...
 
int comproot
 Rank of computation root task (which is rank 0 in comm_comms[cmp]) in the union communicator. More...
 
int * ioranks
 An array of the ranks of all IO tasks within the union communicator. More...
 
int * compranks
 An array of the ranks of all computation tasks within the union communicator. More...
 
int error_handler
 Controls handling errors. More...
 
int default_rearranger
 The rearranger decides which parts of a distributed array are handled by which IO tasks. More...
 
bool async
 True if asynchronous interface is in use. More...
 
bool ioproc
 True if this task is a member of the IO communicator. More...
 
bool compproc
 True if this task is a member of a computation communicator. More...
 
MPI_Info info
 MPI Info object. More...
 
struct iosystem_desc_t::async_ios_msg_info_ async_ios_msg_info
 
int comp_idx
 Index of this component in the list of components. More...
 
rearr_opt_t rearr_opts
 Rearranger options. More...
 
struct spio_io_fstats_summary * io_fstats
 I/O statistics associated with this I/O system. More...
 
struct iosystem_desc_tnext
 Pointer to the next iosystem_desc_t in the list. More...
 

Detailed Description

IO system descriptor structure.

This structure contains the general IO subsystem data and MPI structure

Member Data Documentation

◆ async

bool iosystem_desc_t::async

True if asynchronous interface is in use.

◆ async_ios_msg_info

struct iosystem_desc_t::async_ios_msg_info_ iosystem_desc_t::async_ios_msg_info

◆ comp_comm

MPI_Comm iosystem_desc_t::comp_comm

This is an MPI intra communicator that includes all the tasks involved in computation.

◆ comp_idx

int iosystem_desc_t::comp_idx

Index of this component in the list of components.

◆ comp_rank

int iosystem_desc_t::comp_rank

The rank of this process in the computation communicator, or -1 if this process is not part of the computation communicator.

◆ compgroup

MPI_Group iosystem_desc_t::compgroup

This MPI group contains the processors involved in computation.

◆ compmaster

int iosystem_desc_t::compmaster

Set to MPI_ROOT if this task is the master of comp communicator, 0 otherwise.

◆ compproc

bool iosystem_desc_t::compproc

True if this task is a member of a computation communicator.

◆ compranks

int* iosystem_desc_t::compranks

An array of the ranks of all computation tasks within the union communicator.

◆ comproot

int iosystem_desc_t::comproot

Rank of computation root task (which is rank 0 in comm_comms[cmp]) in the union communicator.

Will always = number of IO tasks in async situations.

◆ default_rearranger

int iosystem_desc_t::default_rearranger

The rearranger decides which parts of a distributed array are handled by which IO tasks.

◆ error_handler

int iosystem_desc_t::error_handler

Controls handling errors.

◆ info

MPI_Info iosystem_desc_t::info

MPI Info object.

◆ intercomm

MPI_Comm iosystem_desc_t::intercomm

This is an MPI inter communicator between IO communicator and computation communicator.

◆ io_comm

MPI_Comm iosystem_desc_t::io_comm

This is an MPI intra communicator that includes all the tasks involved in IO.

◆ io_fstats

struct spio_io_fstats_summary* iosystem_desc_t::io_fstats

I/O statistics associated with this I/O system.

◆ io_rank

int iosystem_desc_t::io_rank

The rank of this process in the IO communicator, or -1 if this process is not part of the IO communicator.

◆ iogroup

MPI_Group iosystem_desc_t::iogroup

This MPI group contains the processors involved in I/O.

◆ iomaster

int iosystem_desc_t::iomaster

Set to MPI_ROOT if this task is the master of IO communicator, 0 otherwise.

◆ ioproc

bool iosystem_desc_t::ioproc

True if this task is a member of the IO communicator.

◆ ioranks

int* iosystem_desc_t::ioranks

An array of the ranks of all IO tasks within the union communicator.

◆ ioroot

int iosystem_desc_t::ioroot

Rank of IO root task (which is rank 0 in io_comm) in the union communicator.

Will always be 0 for async situations.

◆ iosysid

int iosystem_desc_t::iosysid

The ID of this iosystem_desc_t.

This will be obtained by calling PIOc_Init_Intercomm() or PIOc_Init_Intracomm().

◆ my_comm

MPI_Comm iosystem_desc_t::my_comm

This is a copy (but not an MPI copy) of either the comp (for non-async) or the union (for async) communicator.

◆ next

struct iosystem_desc_t* iosystem_desc_t::next

Pointer to the next iosystem_desc_t in the list.

◆ num_comptasks

int iosystem_desc_t::num_comptasks

The number of tasks in the computation communicator.

◆ num_iotasks

int iosystem_desc_t::num_iotasks

The number of tasks in the IO communicator.

◆ num_uniontasks

int iosystem_desc_t::num_uniontasks

The number of tasks in the union communicator (will be num_comptasks for non-async, num_comptasks + num_iotasks for async).

◆ rearr_opts

rearr_opt_t iosystem_desc_t::rearr_opts

Rearranger options.

◆ sname

char iosystem_desc_t::sname[PIO_MAX_NAME+1]

◆ union_comm

MPI_Comm iosystem_desc_t::union_comm

This is an MPI intra communicator that includes all the tasks in both the IO and the computation communicators.

◆ union_rank

int iosystem_desc_t::union_rank

Rank of this task in the union communicator.


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