dbcsr_mpiwrap Module

Interface to the message passing library MPI



Variables

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, 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

Interfaces

public interface mp_environ

  • private recursive subroutine mp_environ_l(numtask, taskid, groupid)

    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)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(out), optional :: numtask
    integer, intent(out), optional :: taskid
    type(mp_comm_type), intent(in) :: groupid

    mpi communicator

  • private subroutine mp_environ_c(numtask, dims, task_coor, groupid)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(out) :: numtask
    integer, intent(out) :: dims(2)
    integer, intent(out) :: task_coor(2)
    type(mp_comm_type), intent(in) :: groupid
  • private subroutine mp_environ_c2(comm, ndims, dims, task_coor, periods)

    Arguments

    Type IntentOptional 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)

public interface mp_waitall

  • private subroutine mp_waitall_1(requests)

    waits for completion of the given requests

    Note

    see isendrecv

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), intent(inout), DIMENSION(:) :: requests
  • private subroutine mp_waitall_2(requests)

    waits for completion of the given requests

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), intent(inout), DIMENSION(:, :) :: requests

public interface mp_testall

  • private function mp_testall_tv(requests) result(flag)

    Tests for completion of the given requests. We use mpi_test so that we can use a single status.

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), DIMENSION(:) :: requests

    the list of requests to test

    Return Value logical

    logical which determines if requests are complete

public interface mp_test

  • private subroutine mp_test_1(request, flag)

    Tests for completion of the given request.

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), intent(inout) :: request

    the request

    logical, intent(out) :: flag

    logical which determines if the request is completed

public interface mp_testany

  • private subroutine mp_testany_1(requests, completed, flag)

    tests for completion of the given requests

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), intent(inout), DIMENSION(:) :: requests
    integer, intent(out), optional :: completed
    logical, intent(out), optional :: flag
  • private subroutine mp_testany_2(requests, completed, flag)

    tests for completion of the given requests

    Arguments

    Type IntentOptional Attributes Name
    type(mp_request_type), intent(inout), DIMENSION(:, :) :: requests
    integer, intent(out), optional :: completed
    logical, intent(out), optional :: flag

public interface mp_minloc

  • private subroutine mp_minloc_dv(msg, gid)

    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!

    Arguments

    Type IntentOptional 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

public interface mp_maxloc

  • private subroutine mp_maxloc_dv(msg, gid)

    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!

    Arguments

    Type IntentOptional 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

public interface mp_bcast

  • private subroutine mp_bcast_i(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_iv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_i1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_im(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_i1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_i3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_i1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_l(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_lv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_l1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_lm(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_l1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_l3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_l1

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_d(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_dv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_d1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_dm(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_d1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_d3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_d1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_r(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_rv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_r1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_rm(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_r1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_r3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_r1

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_z(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_zv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_z1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_zm(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_z1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_z3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_z1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_c(msg, source, gid)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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

  • private subroutine mp_bcast_cv(msg, source, gid)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_c1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), CONTIGUOUS :: msg(:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_cm(msg, source, gid)

    Broadcasts rank-2 data to all processes

    Note

    see mp_bcast_c1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), CONTIGUOUS :: msg(:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_c3(msg, source, gid)

    Broadcasts rank-3 data to all processes

    Note

    see mp_bcast_c1

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), CONTIGUOUS :: msg(:,:,:)

    Data to broadcast

    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_b(msg, source, gid)

    Arguments

    Type IntentOptional Attributes Name
    logical :: msg
    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_bv(msg, source, gid)

    Arguments

    Type IntentOptional Attributes Name
    logical, CONTIGUOUS :: msg(:)
    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_av(msg, source, gid)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*) :: msg
    integer :: source
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_bcast_am(msg, source, gid)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*) :: msg(:)
    integer :: source
    type(mp_comm_type), intent(in) :: gid

public interface mp_ibcast

  • private subroutine mp_ibcast_i(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_iv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_i1

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_l(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_lv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_l1

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_d(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_dv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_d1

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_r(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_rv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_r1

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_z(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_zv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_z1

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_c(msg, source, gid, request)

    Broadcasts a datum to all processes.

    MPI mapping mpi_bcast

    Arguments

    Type IntentOptional 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
  • private subroutine mp_ibcast_cv(msg, source, gid, request)

    Broadcasts rank-1 data to all processes

    Note

    see mp_bcast_c1

    Arguments

    Type IntentOptional 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

public interface mp_sum

  • private subroutine mp_sum_i(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_iv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_i

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_im(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_i

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_im3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_i

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_im4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_i

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_l(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_lv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_l

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_lm(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_l

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_lm3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_l

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_lm4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_l

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_r(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_rv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_r

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_rm(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_r

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_rm3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_r

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_rm4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_r

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_d(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_dv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_d

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_dm(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_d

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_dm3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_d

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_dm4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_d

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_c(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_cv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_c

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_cm(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_c

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_cm3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_c

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_cm4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_c

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_z(msg, gid)

    Sums a datum from all processes with result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_zv(msg, gid)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_z

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), intent(inout), CONTIGUOUS :: msg(:)

    Vector to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_zm(msg, gid)

    Element-wise sum of a rank-2 array on all processes.

    Note

    see mp_sum_z

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:)

    Matrix to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_zm3(msg, gid)

    Element-wise sum of a rank-3 array on all processes.

    Note

    see mp_sum_z

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_zm4(msg, gid)

    Element-wise sum of a rank-4 array on all processes.

    Note

    see mp_sum_z

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), intent(inout), CONTIGUOUS :: msg(:,:,:,:)

    Array to sum and result

    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_sum_root_iv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_im(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_iv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_root_lv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_lm(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_lv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_root_rv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_rm(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_rv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_root_dv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_dm(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_dv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_root_cv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_cm(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_cv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_root_zv(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    MPI mapping mpi_reduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_root_zm(msg, root, gid)

    Element-wise sum of data from all processes with result left only on one.

    Note

    see mp_sum_root_zv

    Arguments

    Type IntentOptional 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
  • private subroutine mp_sum_b(msg, gid)

    Logical OR reduction

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_bv(msg, gid)

    Logical OR reduction

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

public interface mp_isum

  • private subroutine mp_isum_iv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_lv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_dv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_rv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_zv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_cv(msg, gid, request)

    Element-wise sum of a rank-1 array on all processes.

    Note

    see mp_sum_c

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isum_bv(msg, gid, request)

    Logical OR reduction

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

public interface mp_sum_partial

  • private subroutine mp_sum_partial_im(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_partial_lm(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_partial_dm(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_partial_rm(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_partial_zm(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sum_partial_cm(msg, res, gid)

    Partial sum of data from all processes with result on each process.

    Arguments

    Type IntentOptional 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

public interface mp_max

  • private subroutine mp_max_i(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_iv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_max_l(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_lv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_max_d(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_dv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_max_r(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_rv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_max_z(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_zv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_max_c(msg, gid)

    Finds the maximum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_max_cv(msg, gid)

    Finds the element-wise maximum of a vector with the result left on all processes.

    Note

    see mp_max_c

    Arguments

    Type IntentOptional 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

public interface mp_min

  • private subroutine mp_min_i(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_iv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_min_l(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_lv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_min_d(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_dv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_min_r(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_rv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_min_z(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_zv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_min_c(msg, gid)

    Finds the minimum of a datum with the result left on all processes.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_min_cv(msg, gid)

    Finds the element-wise minimum of vector with the result left on all processes.

    MPI mapping mpi_allreduce

    Note

    see mp_min_c

    Arguments

    Type IntentOptional 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

public interface mp_prod

  • private subroutine mp_prod_i(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_prod_l(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_prod_d(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_prod_r(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_prod_z(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

  • private subroutine mp_prod_c(msg, gid)

    Multiplies a set of numbers scattered across a number of processes, then replicates the result.

    MPI mapping mpi_allreduce

    Arguments

    Type IntentOptional 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

public interface mp_gather

  • private subroutine mp_gather_i(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_im(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_iv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_l(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_lm(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_lv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_d(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_dm(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_dv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_r(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_rm(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_rv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_z(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_zm(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_zv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_c(msg, msg_gather, root, gid)

    Gathers a datum from all processes to one

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gather_cm(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_gather_cv(msg, msg_gather, root, 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

    Arguments

    Type IntentOptional 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

public interface mp_gatherv

  • private subroutine mp_gatherv_iv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gatherv_lv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gatherv_dv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gatherv_rv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gatherv_zv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

  • private subroutine mp_gatherv_cv(sendbuf, recvbuf, recvcounts, displs, root, comm)

    Gathers data from all processes to one.

    Data length Data can have different lengths

    Offsets Offsets start at 0

    MPI mapping mpi_gather

    Arguments

    Type IntentOptional 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

public interface mp_allgather

Todo

move allgatherv to a separate declaration

  • private subroutine mp_allgather_i(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_i2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_i12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_i23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_i34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_i22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_l(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_l2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_l12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_l23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_l34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_l22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_r(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_r2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_r12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_r23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_r34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_r22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_d(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_d2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_d12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_d23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_d34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_d22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_c(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_c2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_c12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_c23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_c34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_c22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_z(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_z2(msgout, msgin, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_z12(msgout, msgin, gid)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgather_z23(msgout, msgin, gid)

    Gathers matrix data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_z34(msgout, msgin, gid)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgather_z22(msgout, msgin, gid)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_allgatherv_iv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgatherv_lv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgatherv_rv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgatherv_dv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgatherv_cv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allgatherv_zv(msgout, msgin, rcount, rdispl, 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

    Arguments

    Type IntentOptional 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

public interface mp_iallgather

  • private subroutine mp_iallgather_i(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z(msgout, msgin, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_i11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z11(msgout, msgin, gid, request)

    Gathers rank-1 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z11

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_i13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z13(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_i22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z22(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_i24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z24(msgout, msgin, gid, request)

    Gathers rank-2 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_i33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_i12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_l33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_l12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_r33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_r12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_d33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_d12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_c33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_c12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgather_z33(msgout, msgin, gid, request)

    Gathers rank-3 data from all processes and all processes receive the same data

    Note

    see mp_allgather_z12

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_iv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_iv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_lv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_lv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_rv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_rv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_dv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_dv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_cv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_cv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_zv(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iallgatherv_zv2(msgout, msgin, rcount, rdispl, gid, 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

    Arguments

    Type IntentOptional 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

public interface mp_iscatter

  • private subroutine mp_iscatter_i(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_l(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_r(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_d(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_c(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_z(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_iv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_lv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_rv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_dv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_cv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatter_zv2(msg_scatter, msg, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_iv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_lv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_rv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_dv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_cv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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
  • private subroutine mp_iscatterv_zv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

    Scatters data from one processes to all others

    MPI mapping mpi_scatter

    Arguments

    Type IntentOptional 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

public interface mp_alltoall

  • private subroutine mp_alltoall_i(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_i22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_i44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_i11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_l(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_l22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_l44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_l11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_d(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_d22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_d44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_d11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_r(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_r22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_r44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_r11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_z(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_z22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_z44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_z11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_c(sb, rb, count, group)

    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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_alltoall_c22(sb, rb, count, group)

    All-to-all data exchange, rank-2 arrays, equal sizes

    Note

    see mp_alltoall_c

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_c44(sb, rb, count, group)

    All-to-all data exchange, rank 4 data, equal sizes

    Note

    see mp_alltoall_c

    Arguments

    Type IntentOptional 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
  • private subroutine mp_alltoall_c11v(sb, scount, sdispl, rb, rcount, rdispl, 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.

    Arguments

    Type IntentOptional 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

public interface mp_send

  • private subroutine mp_send_i(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_iv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_i

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_send_l(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_lv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_l

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_send_d(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_dv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_d

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_send_r(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_rv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_r

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_send_z(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_zv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_z

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid
  • private subroutine mp_send_c(msg, dest, tag, gid)

    Send one datum to another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_send_cv(msg, dest, tag, gid)

    Send rank-1 data to another process

    Note

    see mp_send_c

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), CONTIGUOUS :: msg(:)

    Rank-1 data to send

    integer :: dest
    integer :: tag
    type(mp_comm_type), intent(in) :: gid

public interface mp_recv

  • private subroutine mp_recv_i(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_iv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_i

    Arguments

    Type IntentOptional 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
  • private subroutine mp_recv_l(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_lv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_l

    Arguments

    Type IntentOptional 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
  • private subroutine mp_recv_d(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_dv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_d

    Arguments

    Type IntentOptional 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
  • private subroutine mp_recv_r(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_rv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_r

    Arguments

    Type IntentOptional 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
  • private subroutine mp_recv_z(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_zv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_z

    Arguments

    Type IntentOptional 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
  • private subroutine mp_recv_c(msg, source, tag, gid)

    Receive one datum from another process

    MPI mapping mpi_send

    Arguments

    Type IntentOptional 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

  • private subroutine mp_recv_cv(msg, source, tag, gid)

    Receive rank-1 data from another process

    Note

    see mp_recv_c

    Arguments

    Type IntentOptional 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

public interface mp_sendrecv

  • private subroutine mp_sendrecv_iv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sendrecv_lv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sendrecv_dv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sendrecv_rv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sendrecv_zv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

  • private subroutine mp_sendrecv_cv(msgin, dest, msgout, source, comm)

    Sends and receives vector data

    Arguments

    Type IntentOptional 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

public interface mp_isendrecv

  • private subroutine mp_isendrecv_i(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_iv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_l(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_lv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_d(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_dv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_r(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_rv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_z(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_zv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_c(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    Non-blocking send and receive of a scalar

    Implementation Calls mpi_isend and mpi_irecv.

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isendrecv_cv(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

    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!

    Arguments

    Type IntentOptional 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

public interface mp_isend

  • private subroutine mp_isend_iv(msgin, dest, comm, request, tag)

    Non-blocking send of vector data

    Note

    see mp_isendrecv_iv

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_im2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_lv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_lm2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_dv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_dm2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_rv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_rm2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_zv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_zm2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_cv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_cm2(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_isend_bv(msgin, dest, comm, request, 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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_isend_custom(msgin, dest, comm, request, tag)

    Non-blocking send of custom type

    Arguments

    Type IntentOptional 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

public interface mp_irecv

  • private subroutine mp_irecv_iv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_im2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_lv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_lm2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_dv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_dm2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_rv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_rm2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_zv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_zm2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_cv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_cm2(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_irecv_bv(msgout, source, comm, request, 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!

    Arguments

    Type IntentOptional 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

  • private subroutine mp_irecv_custom(msgout, source, comm, request, tag)

    Non-blocking receive of vector data

    Arguments

    Type IntentOptional 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

public interface mp_win_create

  • private subroutine mp_win_create_iv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win
  • private subroutine mp_win_create_lv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win
  • private subroutine mp_win_create_dv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win
  • private subroutine mp_win_create_rv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win
  • private subroutine mp_win_create_zv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win
  • private subroutine mp_win_create_cv(base, comm, win)

    Window initialization function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), CONTIGUOUS, DIMENSION(:) :: base
    type(mp_comm_type), intent(in) :: comm
    type(mp_win_type), intent(out) :: win

public interface mp_rget

  • private subroutine mp_rget_iv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_rget_lv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_rget_dv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_rget_rv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_rget_zv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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
  • private subroutine mp_rget_cv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

    Single-sided get function for vector data

    Note

    arrays can be pointers or assumed shape, but they must be contiguous!

    Arguments

    Type IntentOptional 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

public interface mp_allocate

  • private subroutine mp_allocate_i(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allocate_l(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allocate_d(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allocate_r(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allocate_z(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

  • private subroutine mp_allocate_c(DATA, len, stat)

    Allocates special parallel memory

    Arguments

    Type IntentOptional 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

public interface mp_deallocate

  • private subroutine mp_deallocate_i(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_4), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat
  • private subroutine mp_deallocate_l(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int_8), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat
  • private subroutine mp_deallocate_d(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_8), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat
  • private subroutine mp_deallocate_r(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real_4), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat
  • private subroutine mp_deallocate_z(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_8), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat
  • private subroutine mp_deallocate_c(DATA, stat)

    Deallocates special parallel memory

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=real_4), DIMENSION(:), POINTER, CONTIGUOUS :: DATA

    pointer to special memory to deallocate

    integer, intent(out), optional :: stat

public interface mp_type_make

  • private function mp_type_make_i(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_l(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_d(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_r(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_z(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_c(ptr, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

  • private function mp_type_make_struct(subtypes, vector_descriptor, index_descriptor) result(type_descriptor)

    Arguments

    Type IntentOptional 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

    Return Value type(mp_type_descriptor_type)

public interface mp_file_write_at

  • private subroutine mp_file_write_at_i(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_4), intent(in) :: msg
  • private subroutine mp_file_write_at_iv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_l(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_8), intent(in) :: msg
  • private subroutine mp_file_write_at_lv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_d(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_8), intent(in) :: msg
  • private subroutine mp_file_write_at_dv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_r(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_4), intent(in) :: msg
  • private subroutine mp_file_write_at_rv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_z(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_8), intent(in) :: msg
  • private subroutine mp_file_write_at_zv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_c(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_4), intent(in) :: msg
  • private subroutine mp_file_write_at_cv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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

  • private subroutine mp_file_write_at_ch(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    character(len=*), intent(in) :: msg

public interface mp_file_write_at_all

  • private subroutine mp_file_write_at_all_i(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_4), intent(in) :: msg
  • private subroutine mp_file_write_at_all_iv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_file_write_at_all_l(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_8), intent(in) :: msg
  • private subroutine mp_file_write_at_all_lv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_file_write_at_all_d(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_8), intent(in) :: msg
  • private subroutine mp_file_write_at_all_dv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_file_write_at_all_r(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_4), intent(in) :: msg
  • private subroutine mp_file_write_at_all_rv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional 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
  • private subroutine mp_file_write_at_all_z(fh, offset, msg)

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_8), intent(in) :: msg
  • private subroutine mp_file_write_at_all_zv(fh, offset, msg, msglen)

    (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

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in)