PIO  2.5.4
Functions | Variables
ncint_pio.c File Reference
#include "config.h"
#include <stdlib.h>
#include <pio_internal.h>
#include "ncintdispatch.h"
Include dependency graph for ncint_pio.c:

Functions

int nc_def_iosystem (MPI_Comm comp_comm, int num_iotasks, int stride, int base, int rearr, int *iosysidp)
 Same as PIOc_Init_Intracomm(). More...
 
int nc_def_async (MPI_Comm world, int num_io_procs, int *io_proc_list, int component_count, int *num_procs_per_comp, int **proc_list, MPI_Comm *io_comm, MPI_Comm *comp_comm, int rearranger, int *iosysidp)
 Same as PIOc_init_async(). More...
 
int nc_set_iosystem (int iosysid)
 Set the default iosystemID. More...
 
int nc_get_iosystem (int *iosysid)
 Get the default iosystemID. More...
 
int nc_free_iosystem (int iosysid)
 Same as PIOc_free_iosystem(). More...
 
int nc_def_decomp (int iosysid, int pio_type, int ndims, const int *gdimlen, int maplen, const size_t *compmap, int *ioidp, int rearranger, const size_t *iostart, const size_t *iocount)
 Same as PIOc_init_decomp(). More...
 
int nc_free_decomp (int ioid)
 Same as PIOc_freedecomp(). More...
 

Variables

int diosysid
 This is te default io system id.
 

Function Documentation

◆ nc_def_async()

int nc_def_async ( MPI_Comm  world,
int  num_io_procs,
int *  io_proc_list,
int  component_count,
int *  num_procs_per_comp,
int **  proc_list,
MPI_Comm *  io_comm,
MPI_Comm *  comp_comm,
int  rearranger,
int *  iosysidp 
)

Same as PIOc_init_async().

Parameters
worldthe communicator containing all the available tasks.
num_io_procsthe number of processes for the IO component.
io_proc_listan array of lenth num_io_procs with the processor number for each IO processor. If NULL then the IO processes are assigned starting at processes 0.
component_countnumber of computational components
num_procs_per_compan array of int, of length component_count, with the number of processors in each computation component.
proc_listan array of arrays containing the processor numbers for each computation component. If NULL then the computation components are assigned processors sequentially starting with processor num_io_procs.
io_commpointer to an MPI_Comm. If not NULL, it will get an MPI duplicate of the IO communicator. (It is a full duplicate and later must be freed with MPI_Free() by the caller.)
comp_commpointer to an array of pointers to MPI_Comm; the array is of length component_count. If not NULL, it will get an MPI duplicate of each computation communicator. (These are full duplicates and each must later be freed with MPI_Free() by the caller.)
rearrangerthe default rearranger to use for decompositions in this IO system. Only PIO_REARR_BOX is supported for async. Support for PIO_REARR_SUBSET will be provided in a future version.
iosysidppointer to array of length component_count that gets the iosysid for each component.
Returns
PIO_NOERR on success, error code otherwise.
Author
Ed Hartnett

◆ nc_def_decomp()

int nc_def_decomp ( int  iosysid,
int  pio_type,
int  ndims,
const int *  gdimlen,
int  maplen,
const size_t *  compmap,
int *  ioidp,
int  rearranger,
const size_t *  iostart,
const size_t *  iocount 
)

Same as PIOc_init_decomp().

Author
Ed Hartnett

◆ nc_def_iosystem()

int nc_def_iosystem ( MPI_Comm  comp_comm,
int  num_iotasks,
int  stride,
int  base,
int  rearr,
int *  iosysidp 
)

Same as PIOc_Init_Intracomm().

Author
Ed Hartnett

◆ nc_free_decomp()

int nc_free_decomp ( int  ioid)

Same as PIOc_freedecomp().

Author
Ed Hartnett

◆ nc_free_iosystem()

int nc_free_iosystem ( int  iosysid)

Same as PIOc_free_iosystem().

Author
Ed Hartnett

◆ nc_get_iosystem()

int nc_get_iosystem ( int *  iosysid)

Get the default iosystemID.

Parameters
iosysidPointer that gets The IO system ID.
Returns
PIO_NOERR for success.
Author
Ed Hartnett

◆ nc_set_iosystem()

int nc_set_iosystem ( int  iosysid)

Set the default iosystemID.

Parameters
iosysidThe IO system ID to set.
Returns
PIO_NOERR for success.
Author
Ed Hartnett