ParallelIO
Functions | Variables
pio_rearrange.c File Reference

Code to map IO to model decomposition. More...

#include <pio.h>
#include <pio_internal.h>

Functions

void idx_to_dim_list (const int ndims, const int gdims[], const PIO_Offset idx, PIO_Offset dim_list[])
 
void expand_region (const int dim, const int gdims[], const int maplen, const PIO_Offset map[], const int region_size, const int region_stride, const int max_size[], PIO_Offset count[])
 
PIO_Offset find_region (const int ndims, const int gdims[], const int maplen, const PIO_Offset map[], PIO_Offset start[], PIO_Offset count[])
 
PIO_Offset coord_to_lindex (const int ndims, const PIO_Offset lcoord[], const PIO_Offset count[])
 
void compute_maxIObuffersize (MPI_Comm io_comm, io_desc_t *iodesc)
 
int create_mpi_datatypes (const MPI_Datatype basetype, const int msgcnt, const PIO_Offset dlen, const PIO_Offset mindex[], const int mcount[], int *mfrom, MPI_Datatype mtype[])
 
int define_iodesc_datatypes (const iosystem_desc_t ios, io_desc_t *iodesc)
 
int compute_counts (const iosystem_desc_t ios, io_desc_t *iodesc, const int maplen, const int dest_ioproc[], const PIO_Offset dest_ioindex[], MPI_Comm mycomm)
 
int rearrange_comp2io (const iosystem_desc_t ios, io_desc_t *iodesc, void *sbuf, void *rbuf, const int nvars)
 
int rearrange_io2comp (const iosystem_desc_t ios, io_desc_t *iodesc, void *sbuf, void *rbuf)
 
void determine_fill (iosystem_desc_t ios, io_desc_t *iodesc, const int gsize[], const PIO_Offset compmap[])
 
void iodesc_dump (io_desc_t *iodesc)
 
int box_rearrange_create (const iosystem_desc_t ios, const int maplen, const PIO_Offset compmap[], const int gsize[], const int ndims, io_desc_t *iodesc)
 
int compare_offsets (const void *a, const void *b)
 
void get_start_and_count_regions (const int ndims, const int gdims[], const int maplen, const PIO_Offset map[], int *maxregions, io_region *firstregion)
 
void default_subset_partition (const iosystem_desc_t ios, io_desc_t *iodesc)
 
int subset_rearrange_create (const iosystem_desc_t ios, const int maplen, PIO_Offset compmap[], const int gsize[], const int ndims, io_desc_t *iodesc)
 
void performance_tune_rearranger (iosystem_desc_t ios, io_desc_t *iodesc)
 

Variables

int tmpioproc =-1
 internal variable used for debugging
 

Detailed Description

Code to map IO to model decomposition.

Author
Jim Edwards
Date
2014
See also
http://code.google.com/p/parallelio/

Function Documentation

§ box_rearrange_create()

int box_rearrange_create ( const iosystem_desc_t  ios,
const int  maplen,
const PIO_Offset  compmap[],
const int  gsize[],
const int  ndims,
io_desc_t iodesc 
)

§ compare_offsets()

int compare_offsets ( const void *  a,
const void *  b 
)

§ compute_counts()

int compute_counts ( const iosystem_desc_t  ios,
io_desc_t iodesc,
const int  maplen,
const int  dest_ioproc[],
const PIO_Offset  dest_ioindex[],
MPI_Comm  mycomm 
)

§ compute_maxIObuffersize()

void compute_maxIObuffersize ( MPI_Comm  io_comm,
io_desc_t iodesc 
)

§ coord_to_lindex()

PIO_Offset coord_to_lindex ( const int  ndims,
const PIO_Offset  lcoord[],
const PIO_Offset  count[] 
)

§ create_mpi_datatypes()

int create_mpi_datatypes ( const MPI_Datatype  basetype,
const int  msgcnt,
const PIO_Offset  dlen,
const PIO_Offset  mindex[],
const int  mcount[],
int *  mfrom,
MPI_Datatype  mtype[] 
)

§ default_subset_partition()

void default_subset_partition ( const iosystem_desc_t  ios,
io_desc_t iodesc 
)

§ define_iodesc_datatypes()

int define_iodesc_datatypes ( const iosystem_desc_t  ios,
io_desc_t iodesc 
)

§ expand_region()

void expand_region ( const int  dim,
const int  gdims[],
const int  maplen,
const PIO_Offset  map[],
const int  region_size,
const int  region_stride,
const int  max_size[],
PIO_Offset  count[] 
)

§ find_region()

PIO_Offset find_region ( const int  ndims,
const int  gdims[],
const int  maplen,
const PIO_Offset  map[],
PIO_Offset  start[],
PIO_Offset  count[] 
)

§ get_start_and_count_regions()

void get_start_and_count_regions ( const int  ndims,
const int  gdims[],
const int  maplen,
const PIO_Offset  map[],
int *  maxregions,
io_region firstregion 
)

§ idx_to_dim_list()

void idx_to_dim_list ( const int  ndims,
const int  gdims[],
const PIO_Offset  idx,
PIO_Offset  dim_list[] 
)

§ rearrange_comp2io()

int rearrange_comp2io ( const iosystem_desc_t  ios,
io_desc_t iodesc,
void *  sbuf,
void *  rbuf,
const int  nvars 
)

§ rearrange_io2comp()

int rearrange_io2comp ( const iosystem_desc_t  ios,
io_desc_t iodesc,
void *  sbuf,
void *  rbuf 
)

§ subset_rearrange_create()

int subset_rearrange_create ( const iosystem_desc_t  ios,
const int  maplen,
PIO_Offset  compmap[],
const int  gsize[],
const int  ndims,
io_desc_t iodesc 
)