#include "config.h"
#include <stdlib.h>
#include <pio_internal.h>
#include "ncintdispatch.h"
|
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...
|
|
|
int | diosysid |
| This is te default io system id.
|
|
◆ 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
-
world | the communicator containing all the available tasks. |
num_io_procs | the number of processes for the IO component. |
io_proc_list | an 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_count | number of computational components |
num_procs_per_comp | an array of int, of length component_count, with the number of processors in each computation component. |
proc_list | an 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_comm | pointer 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_comm | pointer 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.) |
rearranger | the 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. |
iosysidp | pointer 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 |
|
) |
| |
◆ nc_def_iosystem()
int nc_def_iosystem |
( |
MPI_Comm |
comp_comm, |
|
|
int |
num_iotasks, |
|
|
int |
stride, |
|
|
int |
base, |
|
|
int |
rearr, |
|
|
int * |
iosysidp |
|
) |
| |
◆ nc_free_decomp()
int nc_free_decomp |
( |
int |
ioid | ) |
|
◆ nc_free_iosystem()
int nc_free_iosystem |
( |
int |
iosysid | ) |
|
◆ nc_get_iosystem()
int nc_get_iosystem |
( |
int * |
iosysid | ) |
|
Get the default iosystemID.
- Parameters
-
iosysid | Pointer 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
-
iosysid | The IO system ID to set. |
- Returns
- PIO_NOERR for success.
- Author
- Ed Hartnett