|
SCORPIO 1.9.0
|
Initialize an I/O decomposition. More...
Functions/Subroutines | |
| subroutine | pio_initdecomp_int (iosys, dt, gdims, map, iodesc, rearr, iostart, iocount, ierr) |
| Initialize an I/O decomposition. | |
| subroutine | pio_initdecomp_offset (iosys, dt, gdims, map, iodesc, rearr, iostart, iocount, ierr) |
| Initialize an I/O decomposition. | |
| subroutine | pio_initdecomp_bc (iosys, dt, gdims, mapstart, mapcount, iodesc, ierr) |
| Initialize a block cyclic I/O decomposition. | |
Initialize an I/O decomposition.
| subroutine __spio_decomp_f90__::pio_initdecomp_bc | ( | type(iosystem_desc_t), intent(in) | iosys, |
| integer, intent(in) | dt, | ||
| integer, dimension(:), intent(in) | gdims, | ||
| integer(pio_offset_kind), dimension(:), intent(in) | mapstart, | ||
| integer(pio_offset_kind), dimension(:), intent(in) | mapcount, | ||
| type(io_desc_t), intent(inout) | iodesc, | ||
| integer, intent(out), optional | ierr | ||
| ) |
Initialize a block cyclic I/O decomposition.
| [in] | iosys | The handle to the I/O subsystem associated with the I/O decomposition. IO system descriptor structure. |
This structure contains the general IO subsystem data and MPI structure
| [in] | dt | The type of the data in memory. Note that users can use an I/O decomposition representing data in memory with type T1 (e.g. real(r8)) to write data for a variable with a different type, say T2 (e.g. real(r4)) as long as T1 can be safely typecasted to T2. The base types supported by PIO are: |
- PIO_double : 8-byte reals or double precision
PIO_char : character
| [in] | gdims | The global dimensions of the I/O decomposition |
| [in] | mapstart | The starting indices for the I/O decomposition map for the block cyclic decomposition. Each element in the array corresponds to the start index for the I/O decomposition (mapstart[i] contains the start index for dimension i in the current process). The size of this array needs to be equal to the number of dimensions of the variables/data represented by this I/O decomposition |
| [in] | mapcount | The number of elements (count)in the I/O decomposition map for the block cyclic decomposition. Each element in the array corresponds to the number of elements for the I/O decomposition (mapcount[i] contains the number of elements for dimension i in the current process). The size of this array needs to be equal to the number of dimensions of the variables/data represented by this I/O decomposition |
| [out] | iodesc | The handle to the I/O decomposition is returned via this arg. |
IO descriptor structure.
This structure defines the mapping for a given variable between compute and IO decomposition.
| [out] | ierr | (Optional) : The error return code. |
Set to PIO_NOERR on success, or an error code otherwise (See PIO_seterrorhandling for more information on how to customize/set error handling)
| subroutine __spio_decomp_f90__::pio_initdecomp_int | ( | type(iosystem_desc_t), intent(in) | iosys, |
| integer, intent(in) | dt, | ||
| integer, dimension(:), intent(in) | gdims, | ||
| integer(i4), dimension(:), intent(in) | map, | ||
| type(io_desc_t), intent(inout) | iodesc, | ||
| integer, intent(in), optional, target | rearr, | ||
| integer(pio_offset_kind), dimension(:), intent(in), optional | iostart, | ||
| integer(pio_offset_kind), dimension(:), intent(in), optional | iocount, | ||
| integer, intent(out), optional | ierr | ||
| ) |
Initialize an I/O decomposition.
| [in] | iosys | The handle to the I/O subsystem associated with the I/O decomposition. IO system descriptor structure. |
This structure contains the general IO subsystem data and MPI structure
| [in] | dt | The type of the data in memory. Note that users can use an I/O decomposition representing data in memory with type T1 (e.g. real(r8)) to write data for a variable with a different type, say T2 (e.g. real(r4)) as long as T1 can be safely typecasted to T2. The base types supported by PIO are: |
- PIO_double : 8-byte reals or double precision
PIO_char : character
| [in] | gdims | The global dimensions of the I/O decomposition |
| [in] | map | The mapping between local data index and the global linearized index for each local data element e.g. If after partitioning the local array contains A(2,3) and A(3,3) of an array A[4x4], the map needs to contain [10, 11] corrsponding to the linearized indices of A(2,3) & A(3,3) |
| [out] | iodesc | The handle to the I/O decomposition is returned via this arg. |
IO descriptor structure.
This structure defines the mapping for a given variable between compute and IO decomposition.
| [in] | rearr | (Optional) The data rearranger to use for this I/O decomposition. The three choices to control rearrangement are: |
- PIO_rearr_none : Do not use any form of rearrangement
PIO_rearr_subset : Use a PIO internal subsetting rearrangement
| [in] | iostart | (Optional) The start array containing the local start index for all the dimensions. i.e., start(i) contains the starting index for data in the current process for dimension i and size(start) = number of dimensions for the data. The start array is passed in for trivial (e.g. block cyclic) decompositions. The library internally calculates this value if not provided by the user. |
| [in] | iocount | (Optional) The count array containing the local count for all the dimensions. i.e., count(i) contains the number of elements of data in the current process for dimension i and size(count) = number of dimensions for the data. The count array is passed in for trivial (e.g. block cyclic) decompositions. The library internally calculates this value if not provided by the user. |
| [out] | ierr | (Optional) : The error return code. |
| subroutine __spio_decomp_f90__::pio_initdecomp_offset | ( | type(iosystem_desc_t), intent(in) | iosys, |
| integer, intent(in) | dt, | ||
| integer, dimension(:), intent(in) | gdims, | ||
| integer(pio_offset_kind), dimension(:), intent(in) | map, | ||
| type(io_desc_t), intent(inout) | iodesc, | ||
| integer, intent(in), optional, target | rearr, | ||
| integer(pio_offset_kind), dimension(:), intent(in), optional | iostart, | ||
| integer(pio_offset_kind), dimension(:), intent(in), optional | iocount, | ||
| integer, intent(out), optional | ierr | ||
| ) |
Initialize an I/O decomposition.
| [in] | iosys | The handle to the I/O subsystem associated with the I/O decomposition. IO system descriptor structure. |
This structure contains the general IO subsystem data and MPI structure
| [in] | dt | The type of the data in memory. Note that users can use an I/O decomposition representing data in memory with type T1 (e.g. real(r8)) to write data for a variable with a different type, say T2 (e.g. real(r4)) as long as T1 can be safely typecasted to T2. The base types supported by PIO are: |
- PIO_double : 8-byte reals or double precision
PIO_char : character
| [in] | gdims | The global dimensions of the I/O decomposition |
| [in] | map | The mapping between local data index and the global linearized index for each local data element e.g. If after partitioning the local array contains A(2,3) and A(3,3) of an array A[4x4], the map needs to contain [10, 11] corrsponding to the linearized indices of A(2,3) & A(3,3) |
| [out] | iodesc | The handle to the I/O decomposition is returned via this arg. |
IO descriptor structure.
This structure defines the mapping for a given variable between compute and IO decomposition.
| [in] | rearr | (Optional) The data rearranger to use for this I/O decomposition. The three choices to control rearrangement are: |
- PIO_rearr_none : Do not use any form of rearrangement
PIO_rearr_subset : Use a PIO internal subsetting rearrangement
| [in] | iostart | (Optional) The start array containing the local start index for all the dimensions. i.e., start(i) contains the starting index for data in the current process for dimension i and size(start) = number of dimensions for the data. The start array is passed in for trivial (e.g. block cyclic) decompositions. The library internally calculates this value if not provided by the user. |
| [in] | iocount | (Optional) The count array containing the local count for all the dimensions. i.e., count(i) contains the number of elements of data in the current process for dimension i and size(count) = number of dimensions for the data. The count array is passed in for trivial (e.g. block cyclic) decompositions. The library internally calculates this value if not provided by the user. |
| [out] | ierr | (Optional) : The error return code. |