automatically create an VDC optimized IO decomposition that uses the most possible IO tasks
POST-EFFECTS:
Each MPI Task is now either and IO task or a computational task. IO tasks have nonzero start/counts
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i4), | intent(in) | :: | rank |
int rank of the current MPI task |
||
| integer(kind=i4), | intent(inout) | :: | nioprocs |
int represents the max possible # of IO procs, |
||
| real(kind=r4), | intent(in), | dimension(:) | :: | block_dims | ||
| integer(kind=PIO_OFFSET), | intent(out) | :: | start(3) | |||
| integer(kind=PIO_OFFSET), | intent(out) | :: | count(3) | |||
| integer(kind=i4), | intent(in), | dimension(:) | :: | bsize |
int(3) VDC block size |
|
| integer(kind=i4), | intent(in), | dimension(:) | :: | data_dims |