MPI related stuff, including communication
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | worldComm | ||||
| integer, | public | :: | dType | ||||
| integer, | public, | ALLOCATABLE | :: | req(:) | |||
| integer, | public, | ALLOCATABLE | :: | req1(:) | |||
| integer, | public, | ALLOCATABLE | :: | req2(:) | |||
| integer, | public, | ALLOCATABLE | :: | req3(:) |
Find MAX/MIN/SUM scalar value across MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM scalar value across MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP |
Find on MPI rank 'toRank' MAX/MIN/SUM scalar value across MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM scalar value across MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks (nonblocking).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank | |||
| integer, | intent(out) | :: | req_out |
Find on MPI rank 'toRank' MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank | |||
| integer, | intent(out) | :: | req_out |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| integer | :: | fromRank |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| integer | :: | fromRank |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | scalar_str | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | arr_int(:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | arr_str(:) | |||
| integer | :: | fromRank |
Broadcast a 2D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks (nonblocking)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| integer | :: | fromRank | ||||
| integer, | intent(out) | :: | req_out |
Broadcast a 2D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks (nonblocking)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| integer | :: | fromRank | ||||
| integer, | intent(out) | :: | req_out |
Wait for completion of all nonblocking communications for req(:)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | req_in(:) |
Initialization of MPI.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | optional | :: | comm_in |
Deinitialization of MPI.
Barrier for specified communicator, or world-communicator otherwise.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | optional | :: | Comm | ||
| character(len=*), | intent(in), | optional | :: | beforeScreenOut | ||
| character(len=*), | intent(in), | optional | :: | afterScreenOut |
Find MAX/MIN/SUM scalar value across MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM scalar value across MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP |
Find MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks and bradcast result back to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP |
Find on MPI rank 'toRank' MAX/MIN/SUM scalar value across MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM scalar value across MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank |
Find on MPI rank 'toRank' MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks (nonblocking).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank | |||
| integer, | intent(out) | :: | req_out |
Find on MPI rank 'toRank' MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| character(len=3), | intent(in) | :: | parOP | |||
| integer, | intent(in) | :: | toRank | |||
| integer, | intent(out) | :: | req_out |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | scalar_int | |||
| integer | :: | fromRank |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | scalar_str | |||
| integer | :: | fromRank |
Broadcast a scalar from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | scalar | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | arr_int(:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | arr_str(:) | |||
| integer | :: | fromRank |
Broadcast a 2D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| integer | :: | fromRank |
Broadcast a 1D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks (nonblocking)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:) | |||
| integer | :: | fromRank | ||||
| integer, | intent(out) | :: | req_out |
Broadcast a 2D array (assumed-shape) from MPI rank 'fromRank' to all MPI ranks (nonblocking)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | arr(:,:) | |||
| integer | :: | fromRank | ||||
| integer, | intent(out) | :: | req_out |
Wait for completion of a single nonblocking communication
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | req_in |
Wait for completion of all nonblocking communications for req(:)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | req_in(:) |
Sum an array across MPI ranks: explicit-shape with implicit reshaping Multi-D->1D.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout), | DIMENSION(sz) | :: | arr | ||
| integer, | intent(in) | :: | sz |