Interface to the message passing library MPI
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public, | parameter | :: | dbcsr_is_parallel | = | .FALSE. | |
| integer, | public, | parameter | :: | mp_any_tag | = | -1 | |
| integer, | public, | parameter | :: | mp_any_source | = | -2 | |
| integer, | private, | parameter | :: | mp_comm_null_handle | = | -3 | |
| integer, | private, | parameter | :: | mp_comm_self_handle | = | -11 | |
| integer, | private, | parameter | :: | mp_comm_world_handle | = | -12 | |
| integer, | private, | parameter | :: | mp_request_null_handle | = | -4 | |
| integer, | private, | parameter | :: | mp_win_null_handle | = | -5 | |
| integer, | private, | parameter | :: | mp_file_null_handle | = | -6 | |
| integer, | private, | parameter | :: | mp_info_null_handle | = | -7 | |
| integer, | private, | parameter | :: | mp_datatype_null_handle | = | -13 | |
| integer, | public, | parameter | :: | mp_status_size | = | -7 | |
| integer, | public, | parameter | :: | mp_proc_null | = | -8 | |
| integer, | public, | parameter | :: | mp_max_library_version_string | = | 1 | |
| integer, | public, | parameter | :: | file_offset | = | int_8 | |
| integer, | public, | parameter | :: | address_kind | = | int_8 | |
| integer, | public, | parameter | :: | file_amode_create | = | 1 | |
| integer, | public, | parameter | :: | file_amode_rdonly | = | 2 | |
| integer, | public, | parameter | :: | file_amode_wronly | = | 4 | |
| integer, | public, | parameter | :: | file_amode_rdwr | = | 8 | |
| integer, | public, | parameter | :: | file_amode_excl | = | 64 | |
| integer, | public, | parameter | :: | file_amode_append | = | 128 | |
| type(mp_comm_type), | public, | parameter | :: | mp_comm_null | = | mp_comm_type(mp_comm_null_handle) | |
| type(mp_comm_type), | public, | parameter | :: | mp_comm_self | = | mp_comm_type(mp_comm_self_handle) | |
| type(mp_comm_type), | public, | parameter | :: | mp_comm_world | = | mp_comm_type(mp_comm_world_handle) | |
| type(mp_request_type), | public, | parameter | :: | mp_request_null | = | mp_request_type(mp_request_null_handle) | |
| type(mp_win_type), | public, | parameter | :: | mp_win_null | = | mp_win_type(mp_win_null_handle) | |
| type(mp_file_type), | public, | parameter | :: | mp_file_null | = | mp_file_type(mp_file_null_handle) | |
| type(mp_info_type), | public, | parameter | :: | mp_info_null | = | mp_info_type(mp_info_null_handle) | |
| integer, | public, | parameter | :: | mpi_character_size | = | 1 | |
| integer, | public, | parameter | :: | mpi_integer_size | = | 4 | |
| character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_mpiwrap' | |
| integer, | private, | parameter | :: | MAX_PERF | = | 28 | |
| integer, | private, | parameter | :: | max_stack_size | = | 10 | |
| integer, | private | :: | stack_pointer | = | 0 | ||
| type(mp_perf_env_p_type), | private, | DIMENSION(max_stack_size), TARGET, SAVE | :: | mp_perf_stack | |||
| character(len=20), | private, | parameter | :: | sname(MAX_PERF) | = | (/"MP_Group            ", "MP_Bcast            ", "MP_Allreduce        ", "MP_Gather           ", "MP_Sync             ", "MP_Alltoall         ", "MP_SendRecv         ", "MP_ISendRecv        ", "MP_Wait             ", "MP_comm_split       ", "MP_ISend            ", "MP_IRecv            ", "MP_Send             ", "MP_Recv             ", "MP_Memory           ", "MP_Put              ", "MP_Get              ", "MP_Fence            ", "MP_Win_Lock         ", "MP_Win_Create       ", "MP_Win_Free         ", "MP_IBcast           ", "MP_IAllreduce       ", "MP_IScatter         ", "MP_RGet             ", "MP_Isync            ", "MP_Read_All         ", "MP_Write_All        "/) | |
| integer, | private, | parameter | :: | intlen | = | BIT_SIZE(0)/8 | |
| integer, | private, | parameter | :: | reallen | = | 8 | |
| integer, | private, | parameter | :: | loglen | = | BIT_SIZE(0)/8 | |
| integer, | private, | parameter | :: | charlen | = | 1 | |
| integer, | private, | SAVE | :: | last_mp_perf_env_id | = | 0 |
returns number of tasks and task id for a given mpi group simple and cartesian version.. recursive needed in case of failing mpi_comm_rank.
Note
..mp_world_setup is gone, use mp_environ instead (i.e. give a groupid explicitly)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out), | optional | :: | numtask | ||
| integer, | intent(out), | optional | :: | taskid | ||
| type(mp_comm_type), | intent(in) | :: | groupid |
mpi communicator |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out) | :: | numtask | |||
| integer, | intent(out) | :: | dims(2) | |||
| integer, | intent(out) | :: | task_coor(2) | |||
| type(mp_comm_type), | intent(in) | :: | groupid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | ndims | |||
| integer, | intent(out) | :: | dims(ndims) | |||
| integer, | intent(out) | :: | task_coor(ndims) | |||
| logical, | intent(out) | :: | periods(ndims) |
waits for completion of the given requests
Note
see isendrecv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:) | :: | requests |
waits for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:, :) | :: | requests |
Tests for completion of the given requests. We use mpi_test so that we can use a single status.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | DIMENSION(:) | :: | requests |
the list of requests to test |
logical which determines if requests are complete
Tests for completion of the given request.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout) | :: | request |
the request |
||
| logical, | intent(out) | :: | flag |
logical which determines if the request is completed |
tests for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:) | :: | requests | ||
| integer, | intent(out), | optional | :: | completed | ||
| logical, | intent(out), | optional | :: | flag |
tests for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:, :) | :: | requests | ||
| integer, | intent(out), | optional | :: | completed | ||
| logical, | intent(out), | optional | :: | flag |
Finds the location of the minimal element in a vector.
MPI mapping mpi_allreduce with the MPI_MINLOC reduction function identifier
Invalid data types This routine is invalid for (int_8) data!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find location of maximum element among these data (input). |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the location of the maximal element in a vector.
MPI mapping mpi_allreduce with the MPI_MAXLOC reduction function identifier
Invalid data types This routine is invalid for (int_8) data!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find location of maximum element among these data (input). |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_i1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_i1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_i1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_l1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_l1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_l1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_d1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_d1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_d1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_r1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_r1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_r1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_z1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_z1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_z1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_c1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-2 data to all processes
Note
see mp_bcast_c1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
Note
see mp_bcast_c1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical | :: | msg | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | CONTIGUOUS | :: | msg(:) | |||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*) | :: | msg | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*) | :: | msg(:) | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_i1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_l1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_d1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_r1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_z1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts a datum to all processes.
MPI mapping mpi_bcast
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
Note
see mp_bcast_c1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-2 array on all processes.
Note
see mp_sum_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
Note
see mp_sum_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
Note
see mp_sum_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_iv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_lv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_rv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_dv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_cv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
MPI mapping mpi_reduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
Note
see mp_sum_root_zv
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Logical OR reduction
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout) | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Logical OR reduction
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-1 array on all processes.
Note
see mp_sum_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Logical OR reduction
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the maximum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
Note
see mp_max_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
MPI mapping mpi_allreduce
Note
see mp_min_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
MPI mapping mpi_allreduce
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msg |
Datum to send to root |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msg |
Datum to send to root |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msg |
Datum to send to root |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msg |
Datum to send to root |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msg |
Datum to send to root |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes to one
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msg |
Datum to send to root |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
Data length All data (msg) is equal-sized
MPI mapping mpi_gather
Note
see mp_gather_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| integer(kind=int_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| integer(kind=int_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| real(kind=real_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| real(kind=real_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| complex(kind=real_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers data from all processes to one.
Data length Data can have different lengths
Offsets Offsets start at 0
MPI mapping mpi_gather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| complex(kind=real_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Todo
move allgatherv to a separate declaration
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size All processes send equal-sized data
Ranks The last rank counts the processes
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes and all processes receive the same data
Data size All processes send equal-sized data
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_i11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_l11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_r11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_d11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_c11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-1 data from all processes and all processes receive the same data
Note
see mp_allgather_z11
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_i12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_l12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_r12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_d12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_c12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
Note
see mp_allgather_z12
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
Data size Processes can send different-sized data
Ranks The last rank counts the processes
Offsets Offsets are from 0
MPI mapping mpi_allgather
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer(kind=int_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer(kind=int_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| real(kind=real_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| real(kind=real_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| complex(kind=real_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| complex(kind=real_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
MPI mapping mpi_scatter
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| integer(kind=int_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| integer(kind=int_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| real(kind=real_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| real(kind=real_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| complex(kind=real_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
Index meaning
The first two indices specify the data while the last index counts the processes
Sizes of ranks All processes have the same data size.
MPI mapping mpi_alltoall
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
Note
see mp_alltoall_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
Note
see mp_alltoall_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| complex(kind=real_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank-1 data of different sizes
MPI mapping mpi_alltoallv
Array sizes The scount, rcount, and the sdispl and rdispl arrays have a size equal to the number of processes.
Offsets Values in sdispl and rdispl start with 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Send one datum to another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
Note
see mp_send_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_i
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_l
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_d
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_z
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
MPI mapping mpi_send
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
Note
see mp_recv_c
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a scalar
Implementation Calls mpi_isend and mpi_irecv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
Implementation Calls mpi_isend and mpi_irecv.
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
Note
see mp_isendrecv_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_iv
Note
see mp_isend_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of vector data
Note
see mp_isendrecv_lv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_lv
Note
see mp_isend_lv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of vector data
Note
see mp_isendrecv_dv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_dv
Note
see mp_isend_dv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of vector data
Note
see mp_isendrecv_rv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_rv
Note
see mp_isend_rv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of vector data
Note
see mp_isendrecv_zv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_zv
Note
see mp_isend_zv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of vector data
Note
see mp_isendrecv_cv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
Note
see mp_isendrecv_cv
Note
see mp_isend_cv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of logical vector data
Note
see mp_irecv_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | DIMENSION(:), CONTIGUOUS | :: | msgin |
the input message |
||
| integer, | intent(in) | :: | dest |
the destination processor |
||
| type(mp_comm_type), | intent(in) | :: | comm |
the communicator object |
||
| type(mp_request_type), | intent(out) | :: | request |
communication request index |
||
| integer, | intent(in), | optional | :: | tag |
message tag |
Non-blocking send of custom type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(in) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_iv
Note
see mp_irecv_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_lv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_lv
Note
see mp_irecv_lv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_dv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_dv
Note
see mp_irecv_dv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_rv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_rv
Note
see mp_irecv_rv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_zv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_zv
Note
see mp_irecv_zv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
Note
see mp_isendrecv_cv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
Note
see mp_isendrecv_cv
Note
see mp_irecv_cv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of logical vector data
Note
see mp_irecv_iv
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | DIMENSION(:), CONTIGUOUS | :: | msgout |
the received message |
||
| integer, | intent(in) | :: | source |
the source processor |
||
| type(mp_comm_type), | intent(in) | :: | comm |
the communicator object |
||
| type(mp_request_type), | intent(out) | :: | request |
communication request index |
||
| integer, | intent(in), | optional | :: | tag |
message tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(inout) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Window initialization function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Single-sided get function for vector data
Note
arrays can be pointers or assumed shape, but they must be contiguous!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(in), | DIMENSION(:) | :: | subtypes | ||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| integer(kind=int_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| integer(kind=int_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| real(kind=real_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| real(kind=real_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| complex(kind=real_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| complex(kind=real_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(in) | :: | msg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
MPI-I/O mapping mpi_file_write_at_all
STREAM-I/O mapping WRITE
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(in) | :: | msg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(out) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
MPI-I/O mapping mpi_file_read_at_all
STREAM-I/O mapping READ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(out) | :: | msg |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | handle | = | mp_comm_null_handle |
| procedure, public, pass(comm), non_overridable :: get_handle => mp_get_comm_handle | |
| procedure, public, pass(comm), non_overridable :: set_handle => mp_set_comm_handle | |
| procedure, private, pass(comm1), non_overridable :: mp_comm_op_eq | |
| generic, public :: OPERATOR(.EQ.) => mp_comm_op_eq | |
| procedure, private, pass(comm1), non_overridable :: mp_comm_op_ne | |
| generic, public :: OPERATOR(.NE.) => mp_comm_op_ne |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | handle | = | mp_request_null_handle |
| procedure, public, pass(request), non_overridable :: get_handle => mp_get_request_handle | |
| procedure, public, pass(request), non_overridable :: set_handle => mp_set_request_handle | |
| procedure, private, pass(request1), non_overridable :: mp_request_op_eq | |
| generic, public :: OPERATOR(.EQ.) => mp_request_op_eq | |
| procedure, private, pass(request1), non_overridable :: mp_request_op_ne | |
| generic, public :: OPERATOR(.NE.) => mp_request_op_ne |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | handle | = | mp_win_null_handle |
| procedure, public, pass(win), non_overridable :: get_handle => mp_get_win_handle | |
| procedure, public, pass(win), non_overridable :: set_handle => mp_set_win_handle | |
| procedure, private, pass(win1), non_overridable :: mp_win_op_eq | |
| generic, public :: OPERATOR(.EQ.) => mp_win_op_eq | |
| procedure, private, pass(win1), non_overridable :: mp_win_op_ne | |
| generic, public :: OPERATOR(.NE.) => mp_win_op_ne |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | handle | = | mp_file_null_handle |
| procedure, public, pass(file), non_overridable :: get_handle => mp_get_file_handle | |
| procedure, public, pass(file), non_overridable :: set_handle => mp_set_file_handle | |
| procedure, private, pass(file1), non_overridable :: mp_file_op_eq | |
| generic, public :: OPERATOR(.EQ.) => mp_file_op_eq | |
| procedure, private, pass(file1), non_overridable :: mp_file_op_ne | |
| generic, public :: OPERATOR(.NE.) => mp_file_op_ne |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | handle | = | mp_info_null_handle |
| procedure, public, pass(info), non_overridable :: get_handle => mp_get_info_handle | |
| procedure, public, pass(info), non_overridable :: set_handle => mp_set_info_handle | |
| procedure, private, pass(info1), non_overridable :: mp_info_op_eq | |
| generic, public :: OPERATOR(.EQ.) => mp_info_op_eq | |
| procedure, private, pass(info1), non_overridable :: mp_info_op_ne | |
| generic, public :: OPERATOR(.NE.) => mp_info_op_ne |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | DIMENSION(:), POINTER | :: | index | => | NULL() | |
| integer, | public, | DIMENSION(:), POINTER | :: | chunks | => | NULL() |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | type_handle | = | mp_datatype_null_handle | ||
| integer, | public | :: | length | = | -1 | ||
| integer(kind=int_4), | public, | DIMENSION(:), POINTER | :: | data_i | => | NULL() | |
| integer(kind=int_8), | public, | DIMENSION(:), POINTER | :: | data_l | => | NULL() | |
| real(kind=real_4), | public, | DIMENSION(:), POINTER | :: | data_r | => | NULL() | |
| real(kind=real_8), | public, | DIMENSION(:), POINTER | :: | data_d | => | NULL() | |
| complex(kind=real_4), | public, | DIMENSION(:), POINTER | :: | data_c | => | NULL() | |
| complex(kind=real_8), | public, | DIMENSION(:), POINTER | :: | data_z | => | NULL() | |
| type(mp_type_descriptor_type), | public, | DIMENSION(:), POINTER | :: | subtype | => | NULL() | |
| integer, | public | :: | vector_descriptor(2) | = | -1 | ||
| logical, | public | :: | has_indexing | = | .FALSE. | ||
| type(mp_indexing_meta_type), | public | :: | index_descriptor | = | mp_indexing_meta_type() |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | DIMENSION(:), POINTER | :: | index | => | NULL() | |
| integer(kind=address_kind), | public, | DIMENSION(:), POINTER | :: | chunks | => | NULL() |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=20), | public | :: | name | = | "" | ||
| integer, | public | :: | count | = | -1 | ||
| real(kind=dp), | public | :: | msg_size | = | -1.0_dp |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | ref_count | = | -1 | ||
| integer, | public | :: | id_nr | = | -1 | ||
| type(mp_perf_type), | public, | DIMENSION(MAX_PERF) | :: | mp_perfs | = | mp_perf_type() |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | public, | POINTER | :: | mp_perf_env | => | Null() |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_comm_type), | intent(in) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_comm_type), | intent(in) | :: | comm1 | |||
| class(mp_comm_type), | intent(in) | :: | comm2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_comm_type), | intent(in) | :: | comm1 | |||
| class(mp_comm_type), | intent(in) | :: | comm2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_request_type), | intent(in) | :: | request |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_request_type), | intent(in) | :: | request1 | |||
| class(mp_request_type), | intent(in) | :: | request2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_request_type), | intent(in) | :: | request1 | |||
| class(mp_request_type), | intent(in) | :: | request2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_win_type), | intent(in) | :: | win |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_win_type), | intent(in) | :: | win1 | |||
| class(mp_win_type), | intent(in) | :: | win2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_win_type), | intent(in) | :: | win1 | |||
| class(mp_win_type), | intent(in) | :: | win2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_file_type), | intent(in) | :: | file |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_file_type), | intent(in) | :: | file1 | |||
| class(mp_file_type), | intent(in) | :: | file2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_file_type), | intent(in) | :: | file1 | |||
| class(mp_file_type), | intent(in) | :: | file2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_info_type), | intent(in) | :: | info |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_info_type), | intent(in) | :: | info1 | |||
| class(mp_info_type), | intent(in) | :: | info2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_info_type), | intent(in) | :: | info1 | |||
| class(mp_info_type), | intent(in) | :: | info2 |
Return the current number of communicators
Tests for completion of the given requests. We use mpi_test so that we can use a single status.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | DIMENSION(:) | :: | requests |
the list of requests to test |
logical which determines if requests are complete
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(in), | DIMENSION(:) | :: | subtypes | ||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | count | |||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | lengths | ||
| integer, | intent(in), | DIMENSION(1:count), TARGET | :: | displs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER | :: | ptr | |||
| integer, | intent(in), | optional, | DIMENSION(2) | :: | vector_descriptor | |
| type(mp_indexing_meta_type), | intent(in), | optional | :: | index_descriptor |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_comm_type), | intent(inout) | :: | comm | |||
| integer, | intent(in) | :: | handle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_request_type), | intent(inout) | :: | request | |||
| integer, | intent(in) | :: | handle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_win_type), | intent(inout) | :: | win | |||
| integer, | intent(in) | :: | handle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_file_type), | intent(inout) | :: | file | |||
| integer, | intent(in) | :: | handle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mp_info_type), | intent(inout) | :: | info | |||
| integer, | intent(in) | :: | handle |
initializes the system default communicator
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(out) | :: | mp_comm |
[output] : handle of the default communicator |
re-create the system default communicator with a different MPI rank order
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | mp_comm |
[output] : handle of the default communicator |
||
| type(mp_comm_type), | intent(out) | :: | mp_new_comm | |||
| integer, | DIMENSION(:), CONTIGUOUS | :: | ranks_order |
finalizes the system default communicator
start and stop the performance indicators for every call to start there has to be (exactly) one call to stop
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | optional, | POINTER | :: | perf_env |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | optional, | POINTER | :: | perf_env |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | POINTER | :: | perf_env |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | POINTER | :: | perf_env |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_perf_env_type), | POINTER | :: | perf_env | |||
| integer, | intent(in) | :: | iw |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | scr |
globally stops all tasks this is intended to be low level, most of CP2K should call dbcsr_abort()
stops after an mpi error translating the error code
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ierr |
an error code * returned by an mpi call * |
||
| character(len=*) | :: | prg_code |
synchronizes with a barrier a given group of mpi tasks
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | group |
mpi communicator |
synchronizes with a barrier a given group of mpi tasks
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | group |
mpi communicator |
||
| type(mp_request_type), | intent(out) | :: | request |
returns number of tasks and task id for a given mpi group simple and cartesian version.. recursive needed in case of failing mpi_comm_rank.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out), | optional | :: | numtask | ||
| integer, | intent(out), | optional | :: | taskid | ||
| type(mp_comm_type), | intent(in) | :: | groupid |
mpi communicator |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out) | :: | numtask | |||
| integer, | intent(out) | :: | dims(2) | |||
| integer, | intent(out) | :: | task_coor(2) | |||
| type(mp_comm_type), | intent(in) | :: | groupid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | ndims | |||
| integer, | intent(out) | :: | dims(ndims) | |||
| integer, | intent(out) | :: | task_coor(ndims) | |||
| logical, | intent(out) | :: | periods(ndims) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm_old | |||
| integer, | intent(in) | :: | ndims | |||
| integer, | intent(inout), | CONTIGUOUS | :: | dims(:) | ||
| integer, | intent(out), | CONTIGUOUS | :: | pos(:) | ||
| type(mp_comm_type), | intent(out) | :: | comm_cart |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | rank | |||
| integer, | intent(out), | DIMENSION(:), CONTIGUOUS | :: | coords |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm1 | |||
| type(mp_comm_type), | intent(in) | :: | comm2 | |||
| integer, | intent(out) | :: | res |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm | |||
| logical, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | rdim | ||
| type(mp_comm_type), | intent(out) | :: | sub_comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(inout) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm1 | |||
| type(mp_comm_type), | intent(out) | :: | comm2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm1 | |||
| type(mp_comm_type), | intent(in) | :: | comm2 | |||
| integer, | intent(out), | DIMENSION(:), CONTIGUOUS | :: | rank |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nodes | |||
| integer, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | dims |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | group | |||
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | pos | ||
| integer, | intent(out) | :: | rank |
waits for completion of the given request
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout) | :: | request |
waits for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:) | :: | requests |
waits for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:, :) | :: | requests |
waits for completion of any of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:) | :: | requests | ||
| integer, | intent(out) | :: | completed |
Tests for completion of the given request.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout) | :: | request |
the request |
||
| logical, | intent(out) | :: | flag |
logical which determines if the request is completed |
tests for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:) | :: | requests | ||
| integer, | intent(out), | optional | :: | completed | ||
| logical, | intent(out), | optional | :: | flag |
tests for completion of the given requests
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_request_type), | intent(inout), | DIMENSION(:, :) | :: | requests | ||
| integer, | intent(out), | optional | :: | completed | ||
| logical, | intent(out), | optional | :: | flag |
the direct way to split a communicator each color is a sub_comm, the rank order is accoring to the order in the orig comm
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_comm_type), | intent(out) | :: | sub_comm | |||
| integer, | intent(in) | :: | color | |||
| integer, | intent(in), | optional | :: | key |
splits the given communicator in group in subgroups trying to organize them in a way that the communication within each subgroup is efficient (but not necessarily the communication between subgroups)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | comm |
the mpi communicator that you want to split |
||
| type(mp_comm_type), | intent(out) | :: | sub_comm |
the communicator for the subgroup (created, needs to be freed later) |
||
| integer, | intent(out) | :: | ngroups |
actual number of groups |
||
| integer, | DIMENSION(0:) | :: | group_distribution |
input : allocated with array with the nprocs entries (0 .. nprocs-1) |
||
| integer, | intent(in), | optional | :: | subgroup_min_size |
the minimum size of the subgroup the number of subgroups wanted |
|
| integer, | intent(in), | optional | :: | n_subgroups |
the minimum size of the subgroup the number of subgroups wanted |
|
| integer, | optional, | DIMENSION(0:) | :: | group_partition |
n_subgroups sized array containing the number of cpus wanted per group. should match the total number of cpus (only used if present and associated) (0..ngroups-1) |
|
| integer, | optional | :: | stride |
create groups using a stride (default=1) through the ranks of the comm to be split. |
probes for an incoming message with any tag
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer | :: | source |
the source of the possible incoming message, if MP_ANY_SOURCE it is a blocking one and return value is the source of the next incoming message if source is a different value it is a non-blocking probe retuning MP_ANY_SOURCE if there is no incoming message |
|||
| type(mp_comm_type), | intent(in) | :: | comm |
the communicator |
||
| integer, | intent(out) | :: | tag |
the tag of the incoming message |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical | :: | msg | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | CONTIGUOUS | :: | msg(:) | |||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Non-blocking send of logical vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | DIMENSION(:), CONTIGUOUS | :: | msgin |
the input message |
||
| integer, | intent(in) | :: | dest |
the destination processor |
||
| type(mp_comm_type), | intent(in) | :: | comm |
the communicator object |
||
| type(mp_request_type), | intent(out) | :: | request |
communication request index |
||
| integer, | intent(in), | optional | :: | tag |
message tag |
Non-blocking receive of logical vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | DIMENSION(:), CONTIGUOUS | :: | msgout |
the received message |
||
| integer, | intent(in) | :: | source |
the source processor |
||
| type(mp_comm_type), | intent(in) | :: | comm |
the communicator object |
||
| type(mp_request_type), | intent(out) | :: | request |
communication request index |
||
| integer, | intent(in), | optional | :: | tag |
message tag |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*) | :: | msg | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*) | :: | msg(:) | ||||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the location of the minimal element in a vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find location of maximum element among these data (input). |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the location of the maximal element in a vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find location of maximum element among these data (input). |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Logical OR reduction
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout) | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Logical OR reduction
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Logical OR reduction
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout), | DIMENSION(:), CONTIGUOUS | :: | msg |
Datum to perform inclusive disjunction (input) and resultant inclusive disjunction (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Get Version of the MPI Library (MPI 3)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(out) | :: | version |
Version of the library, declared as CHARACTER(LEN=mp_max_library_version_string) |
||
| integer, | intent(out) | :: | resultlen |
Length (in printable characters) of the result returned in version (integer) |
Get a unique specifier for the actual (as opposed to virtual) node (MPI 2.1)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(out) | :: | procname |
Name of processor |
||
| integer, | intent(out), | optional | :: | resultlen |
Length (in characters) of procname (INTEGER) |
Opens a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_comm_type), | intent(in) | :: | groupid |
message passing environment identifier |
||
| type(mp_file_type), | intent(out) | :: | fh |
file handle (file storage unit) |
||
| character(len=*), | intent(in) | :: | filepath |
path to the file |
||
| integer, | intent(in) | :: | amode_status |
access mode |
||
| type(mp_info_type), | intent(in), | optional | :: | info |
info object |
Deletes a file. Auxiliary routine to emulate 'replace' action for mp_file_open. Only the master processor should call this routine.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | filepath |
path to the file |
||
| type(mp_info_type), | intent(in), | optional | :: | info |
info object |
Closes a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(inout) | :: | fh |
file handle (file storage unit) |
Returns the file size
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(out) | :: | file_size |
the file size |
Returns the file position
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(out) | :: | pos |
the file position |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(in) | :: | msg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(in) | :: | msg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| character(len=*), | intent(out) | :: | msg |
Returns the size of a data type in bytes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(in) | :: | type_descriptor |
data type |
||
| integer, | intent(out) | :: | type_size |
size of the data type |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(inout) | :: | type_descriptor |
Non-blocking send of custom type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(in) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_type_descriptor_type), | intent(inout) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| integer(kind=int_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer(kind=int_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| integer(kind=int_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msg |
Datum to send to root |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| integer(kind=int_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| integer(kind=int_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| integer(kind=int_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| integer(kind=int_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_4), | intent(out) | :: | msg |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| integer(kind=int_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer(kind=int_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| integer(kind=int_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msg |
Datum to send to root |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| integer(kind=int_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in) | :: | msgout |
Datum to send |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| integer(kind=int_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| integer(kind=int_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| integer(kind=int_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| integer(kind=int_8), | intent(out) | :: | msg |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| real(kind=real_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| real(kind=real_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| real(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msg |
Datum to send to root |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| real(kind=real_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| real(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| real(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| real(kind=real_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_8), | intent(out) | :: | msg |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| real(kind=real_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| real(kind=real_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| real(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msg |
Datum to send to root |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| real(kind=real_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| real(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| real(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| real(kind=real_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| real(kind=real_4), | intent(out) | :: | msg |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| complex(kind=real_8), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| complex(kind=real_8), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| complex(kind=real_8), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msg |
Datum to send to root |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| complex(kind=real_8), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| complex(kind=real_8), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_8) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| complex(kind=real_8), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_8), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| complex(kind=real_8), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_8), | intent(out) | :: | msg |
All-to-all data exchange, rank-1 data of different sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
Data to send |
|
| integer, | intent(in), | CONTIGUOUS | :: | scount(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| integer, | intent(in), | CONTIGUOUS | :: | sdispl(:) |
Data counts for data sent to other processes Respective data offsets for data sent to process |
|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | rb(:) |
Buffer into which to receive data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) |
Data counts for data received from other processes Respective data offsets for data received from other processes |
|
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank 1 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:) |
array with data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:) |
array into which data is received |
|
| integer, | intent(in) | :: | count |
number of elements to send/receive (product of the extents of the first two dimensions) |
||
| type(mp_comm_type), | intent(in) | :: | group |
Message passing environment identifier |
All-to-all data exchange, rank-2 arrays, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | sb(:,:) | ||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | rb(:,:) | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
All-to-all data exchange, rank 4 data, equal sizes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | sb | ||
| complex(kind=real_4), | intent(out), | DIMENSION(:, :, :, :), CONTIGUOUS | :: | rb | ||
| integer, | intent(in) | :: | count | |||
| type(mp_comm_type), | intent(in) | :: | group |
Send one datum to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Scalar to send |
|||
| integer | :: | dest |
Destination process Transfer identifier |
|||
| integer | :: | tag |
Destination process Transfer identifier |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Send rank-1 data to another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Rank-1 data to send |
||
| integer | :: | dest | ||||
| integer | :: | tag | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Receive one datum from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Place received data into this variable |
||
| integer, | intent(inout) | :: | source |
Process to receive from Transfer identifier |
||
| integer, | intent(inout) | :: | tag |
Process to receive from Transfer identifier |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Receive rank-1 data from another process
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Place received data into this rank-1 array |
|
| integer, | intent(inout) | :: | source | |||
| integer, | intent(inout) | :: | tag | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Broadcasts a datum to all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msg |
Datum to broadcast |
|||
| integer | :: | source |
Processes which broadcasts |
|||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-1 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Broadcasts rank-2 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Broadcasts rank-3 data to all processes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS | :: | msg(:,:,:) |
Data to broadcast |
||
| integer | :: | source | ||||
| type(mp_comm_type), | intent(in) | :: | gid |
Sums a datum from all processes with result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Datum to sum (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-1 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(inout) | :: | request |
Element-wise sum of a rank-2 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-3 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of a rank-4 array on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:,:,:) |
Array to sum and result |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Vector to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Element-wise sum of data from all processes with result left only on one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) and (only on process root) result (output) |
|
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Partial sum of data from all processes with result on each process.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Matrix to sum (input) |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | res(:,:) |
Matrix containing result (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the maximum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Find maximum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise maximum of a vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find maximum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Finds the minimum of a datum with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
Find minimum among these data (input) and maximum (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Finds the element-wise minimum of vector with the result left on all processes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) |
Find minimum among these data (input) and maximum (output) |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Multiplies a set of numbers scattered across a number of processes, then replicates the result.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(inout) | :: | msg |
a number to multiply (input) and result (output) |
||
| type(mp_comm_type), | intent(in) | :: | gid |
message passing environment identifier |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| complex(kind=real_4), | intent(inout) | :: | msg | |||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:,:) |
Data to scatter (for root process) |
|
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Scatters data from one processes to all others
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg_scatter(:) |
Data to scatter (for root process) |
|
| integer, | intent(in), | CONTIGUOUS | :: | sendcounts(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | displs(:) | ||
| complex(kind=real_4), | intent(inout), | CONTIGUOUS | :: | msg(:) | ||
| integer, | intent(in) | :: | recvcount |
Process which scatters data |
||
| integer, | intent(in) | :: | root |
Process which scatters data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers a datum from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msg |
Datum to send to root |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) |
Received data (on root) |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:) |
Datum to send to root |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msg(:,:) |
Datum to send to root |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msg_gather(:,:) | ||
| integer, | intent(in) | :: | root | |||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers data from all processes to one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | DIMENSION(:), CONTIGUOUS | :: | sendbuf |
Data to send to root |
|
| complex(kind=real_4), | intent(out), | DIMENSION(:), CONTIGUOUS | :: | recvbuf |
Received data (on root) |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | recvcounts |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in), | DIMENSION(:), CONTIGUOUS | :: | displs |
Sizes of data received from processes Offsets of data received from processes |
|
| integer, | intent(in) | :: | root |
Process which gathers the data |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers a datum from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in) | :: | msgout |
Datum to send |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) |
Received data |
|
| type(mp_comm_type), | intent(in) | :: | gid |
Message passing environment identifier |
Gathers matrix data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Gathers rank-1 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-2 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:) |
Rank-2 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers rank-3 data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:,:,:) |
Rank-3 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:,:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid | |||
| type(mp_request_type), | intent(out) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Gathers vector data from all processes and all processes receive the same data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgout(:) |
Rank-1 data to send |
|
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgin(:) |
Received data |
|
| integer, | intent(in), | CONTIGUOUS | :: | rcount(:,:) | ||
| integer, | intent(in), | CONTIGUOUS | :: | rdispl(:,:) | ||
| type(mp_comm_type), | intent(in) | :: | gid |
Size of sent data for every process Offset of sent data for every process Message passing environment identifier |
||
| type(mp_request_type), | intent(inout) | :: | request |
Sends and receives vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | intent(in), | CONTIGUOUS | :: | msgin(:) |
Data to send |
|
| integer, | intent(in) | :: | dest |
Process to send data to |
||
| complex(kind=real_4), | intent(out), | CONTIGUOUS | :: | msgout(:) |
Received data |
|
| integer, | intent(in) | :: | source |
Process from which to receive |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
Non-blocking send and receive of a scalar
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4) | :: | msgin |
Scalar data to send |
|||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_4) | :: | msgout |
Receive data into this pointer |
|||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send and receive of a vector
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin |
Vector data to send |
||
| integer, | intent(in) | :: | dest |
Which process to send to |
||
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout |
Receive data into this pointer |
||
| integer, | intent(in) | :: | source |
Process to receive from |
||
| type(mp_comm_type), | intent(in) | :: | comm |
Message passing environment identifier |
||
| type(mp_request_type), | intent(out) | :: | send_request |
Request handle for the send Request handle for the receive |
||
| type(mp_request_type), | intent(out) | :: | recv_request |
Request handle for the send Request handle for the receive |
||
| integer, | intent(in), | optional | :: | tag |
tag to differentiate requests |
Non-blocking send of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking send of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgin | |||
| integer, | intent(in) | :: | dest | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Non-blocking receive of matrix data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:, :), CONTIGUOUS | :: | msgout | |||
| integer, | intent(in) | :: | source | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_request_type), | intent(out) | :: | request | |||
| integer, | intent(in), | optional | :: | tag |
Window initialization function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| type(mp_comm_type), | intent(in) | :: | comm | |||
| type(mp_win_type), | intent(out) | :: | win |
Single-sided get function for vector data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | base | |||
| integer, | intent(in) | :: | source | |||
| type(mp_win_type), | intent(in) | :: | win | |||
| complex(kind=real_4), | CONTIGUOUS, DIMENSION(:) | :: | win_data | |||
| integer, | intent(in), | optional | :: | myproc | ||
| integer, | intent(in), | optional | :: | disp | ||
| type(mp_request_type), | intent(out) | :: | request | |||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | origin_datatype | ||
| type(mp_type_descriptor_type), | intent(in), | optional | :: | target_datatype |
Allocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to integer array to allocate |
||
| integer, | intent(in) | :: | len |
number of integers to allocate |
||
| integer, | intent(out), | optional | :: | stat |
allocation status result |
Deallocates special parallel memory
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=real_4), | DIMENSION(:), POINTER, CONTIGUOUS | :: | DATA |
pointer to special memory to deallocate |
||
| integer, | intent(out), | optional | :: | stat |
(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh |
file handle (file storage unit) |
||
| integer(kind=file_offset), | intent(in) | :: | offset |
file offset (position) |
||
| complex(kind=real_4), | intent(in) | :: | msg(:) |
data to be written to the file |
||
| integer, | intent(in), | optional | :: | msglen |
number of the elements of data |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(in) | :: | msg |
(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(out) | :: | msg(:) | |||
| integer, | intent(in), | optional | :: | msglen |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mp_file_type), | intent(in) | :: | fh | |||
| integer(kind=file_offset), | intent(in) | :: | offset | |||
| complex(kind=real_4), | intent(out) | :: | msg |