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) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_8), intent(in) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_write_at_all_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_all_cv(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
    complex(kind=real_4), intent(in) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_write_at_all_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_read_at_all

  • private subroutine mp_file_read_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(out) :: msg
  • private subroutine mp_file_read_at_all_iv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_4), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_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(out) :: msg
  • private subroutine mp_file_read_at_all_lv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    integer(kind=int_8), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_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(out) :: msg
  • private subroutine mp_file_read_at_all_dv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_8), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_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(out) :: msg
  • private subroutine mp_file_read_at_all_rv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    real(kind=real_4), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_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(out) :: msg
  • private subroutine mp_file_read_at_all_zv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_8), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_at_all_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(out) :: msg
  • private subroutine mp_file_read_at_all_cv(fh, offset, msg, msglen)

    (parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

    MPI-I/O mapping mpi_file_read_at_all

    STREAM-I/O mapping READ

    Arguments

    Type IntentOptional Attributes Name
    type(mp_file_type), intent(in) :: fh
    integer(kind=file_offset), intent(in) :: offset
    complex(kind=real_4), intent(out) :: msg(:)
    integer, intent(in), optional :: msglen
  • private subroutine mp_file_read_at_all_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(out) :: msg

Derived Types

type, public ::  mp_comm_type

Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_comm_null_handle

Type-Bound Procedures

procedure, public, pass(comm), non_overridable :: get_handle => mp_get_comm_handle
procedure, public, pass(comm), non_overridable :: set_handle => mp_set_comm_handle
procedure, private, pass(comm1), non_overridable :: mp_comm_op_eq
generic, public :: OPERATOR(.EQ.) => mp_comm_op_eq
procedure, private, pass(comm1), non_overridable :: mp_comm_op_ne
generic, public :: OPERATOR(.NE.) => mp_comm_op_ne

type, public ::  mp_request_type

Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_request_null_handle

Type-Bound Procedures

procedure, public, pass(request), non_overridable :: get_handle => mp_get_request_handle
procedure, public, pass(request), non_overridable :: set_handle => mp_set_request_handle
procedure, private, pass(request1), non_overridable :: mp_request_op_eq
generic, public :: OPERATOR(.EQ.) => mp_request_op_eq
procedure, private, pass(request1), non_overridable :: mp_request_op_ne
generic, public :: OPERATOR(.NE.) => mp_request_op_ne

type, public ::  mp_win_type

Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_win_null_handle

Type-Bound Procedures

procedure, public, pass(win), non_overridable :: get_handle => mp_get_win_handle
procedure, public, pass(win), non_overridable :: set_handle => mp_set_win_handle
procedure, private, pass(win1), non_overridable :: mp_win_op_eq
generic, public :: OPERATOR(.EQ.) => mp_win_op_eq
procedure, private, pass(win1), non_overridable :: mp_win_op_ne
generic, public :: OPERATOR(.NE.) => mp_win_op_ne

type, public ::  mp_file_type

Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_file_null_handle

Type-Bound Procedures

procedure, public, pass(file), non_overridable :: get_handle => mp_get_file_handle
procedure, public, pass(file), non_overridable :: set_handle => mp_set_file_handle
procedure, private, pass(file1), non_overridable :: mp_file_op_eq
generic, public :: OPERATOR(.EQ.) => mp_file_op_eq
procedure, private, pass(file1), non_overridable :: mp_file_op_ne
generic, public :: OPERATOR(.NE.) => mp_file_op_ne

type, public ::  mp_info_type

Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_info_null_handle

Type-Bound Procedures

procedure, public, pass(info), non_overridable :: get_handle => mp_get_info_handle
procedure, public, pass(info), non_overridable :: set_handle => mp_set_info_handle
procedure, private, pass(info1), non_overridable :: mp_info_op_eq
generic, public :: OPERATOR(.EQ.) => mp_info_op_eq
procedure, private, pass(info1), non_overridable :: mp_info_op_ne
generic, public :: OPERATOR(.NE.) => mp_info_op_ne

type, private ::  mp_indexing_meta_type

Components

Type Visibility Attributes Name Initial
integer, public, DIMENSION(:), POINTER :: index
integer, public, DIMENSION(:), POINTER :: chunks

type, public ::  mp_type_descriptor_type

Components

Type Visibility Attributes Name Initial
integer, public :: type_handle
integer, public :: length
integer(kind=int_4), public, DIMENSION(:), POINTER :: data_i
integer(kind=int_8), public, DIMENSION(:), POINTER :: data_l
real(kind=real_4), public, DIMENSION(:), POINTER :: data_r
real(kind=real_8), public, DIMENSION(:), POINTER :: data_d
complex(kind=real_4), public, DIMENSION(:), POINTER :: data_c
complex(kind=real_8), public, DIMENSION(:), POINTER :: data_z
type(mp_type_descriptor_type), public, DIMENSION(:), POINTER :: subtype
integer, public :: vector_descriptor(2)
logical, public :: has_indexing
type(mp_indexing_meta_type), public :: index_descriptor

type, private ::  mp_file_indexing_meta_type

Components

Type Visibility Attributes Name Initial
integer, public, DIMENSION(:), POINTER :: index
integer(kind=address_kind), public, DIMENSION(:), POINTER :: chunks

type, private ::  mp_perf_type

Components

Type Visibility Attributes Name Initial
character(len=20), public :: name
integer, public :: count
real(kind=dp), public :: msg_size

type, public ::  mp_perf_env_type

Components

Type Visibility Attributes Name Initial
integer, public :: ref_count
integer, public :: id_nr
type(mp_perf_type), public, DIMENSION(MAX_PERF) :: mp_perfs

type, private ::  mp_perf_env_p_type

Components

Type Visibility Attributes Name Initial
type(mp_perf_env_type), public, POINTER :: mp_perf_env => Null()

Functions

private elemental function mp_get_comm_handle(comm)

Arguments

Type IntentOptional Attributes Name
class(mp_comm_type), intent(in) :: comm

Return Value integer

private impure elemental function mp_comm_op_eq(comm1, comm2)

Arguments

Type IntentOptional Attributes Name
class(mp_comm_type), intent(in) :: comm1
class(mp_comm_type), intent(in) :: comm2

Return Value logical

private impure elemental function mp_comm_op_ne(comm1, comm2)

Arguments

Type IntentOptional Attributes Name
class(mp_comm_type), intent(in) :: comm1
class(mp_comm_type), intent(in) :: comm2

Return Value logical

private elemental function mp_get_request_handle(request)

Arguments

Type IntentOptional Attributes Name
class(mp_request_type), intent(in) :: request

Return Value integer

private impure elemental function mp_request_op_eq(request1, request2)

Arguments

Type IntentOptional Attributes Name
class(mp_request_type), intent(in) :: request1
class(mp_request_type), intent(in) :: request2

Return Value logical

private impure elemental function mp_request_op_ne(request1, request2)

Arguments

Type IntentOptional Attributes Name
class(mp_request_type), intent(in) :: request1
class(mp_request_type), intent(in) :: request2

Return Value logical

private elemental function mp_get_win_handle(win)

Arguments

Type IntentOptional Attributes Name
class(mp_win_type), intent(in) :: win

Return Value integer

private impure elemental function mp_win_op_eq(win1, win2)

Arguments

Type IntentOptional Attributes Name
class(mp_win_type), intent(in) :: win1
class(mp_win_type), intent(in) :: win2

Return Value logical

private impure elemental function mp_win_op_ne(win1, win2)

Arguments

Type IntentOptional Attributes Name
class(mp_win_type), intent(in) :: win1
class(mp_win_type), intent(in) :: win2

Return Value logical

private elemental function mp_get_file_handle(file)

Arguments

Type IntentOptional Attributes Name
class(mp_file_type), intent(in) :: file

Return Value integer

private impure elemental function mp_file_op_eq(file1, file2)

Arguments

Type IntentOptional Attributes Name
class(mp_file_type), intent(in) :: file1
class(mp_file_type), intent(in) :: file2

Return Value logical

private impure elemental function mp_file_op_ne(file1, file2)

Arguments

Type IntentOptional Attributes Name
class(mp_file_type), intent(in) :: file1
class(mp_file_type), intent(in) :: file2

Return Value logical

private elemental function mp_get_info_handle(info)

Arguments

Type IntentOptional Attributes Name
class(mp_info_type), intent(in) :: info

Return Value integer

private impure elemental function mp_info_op_eq(info1, info2)

Arguments

Type IntentOptional Attributes Name
class(mp_info_type), intent(in) :: info1
class(mp_info_type), intent(in) :: info2

Return Value logical

private impure elemental function mp_info_op_ne(info1, info2)

Arguments

Type IntentOptional Attributes Name
class(mp_info_type), intent(in) :: info1
class(mp_info_type), intent(in) :: info2

Return Value logical

public function mp_get_comm_count()

Return the current number of communicators

Arguments

None

Return Value integer

public pure function has_mp_perf_env() result(res)

Arguments

None

Return Value logical

public function get_mp_perf_env() result(res)

Arguments

None

Return Value type(mp_perf_env_type), POINTER

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

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 function mp_type_indexed_make_i(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

Return Value type(mp_type_descriptor_type)

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)

public function mp_type_indexed_make_l(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

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)

public function mp_type_indexed_make_d(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

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)

public function mp_type_indexed_make_r(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

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)

public function mp_type_indexed_make_z(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

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)

public function mp_type_indexed_make_c(count, lengths, displs) result(type_descriptor)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: count
integer, intent(in), DIMENSION(1:count), TARGET :: lengths
integer, intent(in), DIMENSION(1:count), TARGET :: displs

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)


Subroutines

private elemental subroutine mp_set_comm_handle(comm, handle)

Arguments

Type IntentOptional Attributes Name
class(mp_comm_type), intent(inout) :: comm
integer, intent(in) :: handle

private elemental subroutine mp_set_request_handle(request, handle)

Arguments

Type IntentOptional Attributes Name
class(mp_request_type), intent(inout) :: request
integer, intent(in) :: handle

private elemental subroutine mp_set_win_handle(win, handle)

Arguments

Type IntentOptional Attributes Name
class(mp_win_type), intent(inout) :: win
integer, intent(in) :: handle

private elemental subroutine mp_set_file_handle(file, handle)

Arguments

Type IntentOptional Attributes Name
class(mp_file_type), intent(inout) :: file
integer, intent(in) :: handle

private elemental subroutine mp_set_info_handle(info, handle)

Arguments

Type IntentOptional Attributes Name
class(mp_info_type), intent(inout) :: info
integer, intent(in) :: handle

public subroutine mp_world_init(mp_comm)

initializes the system default communicator

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(out) :: mp_comm

[output] : handle of the default communicator

public subroutine mp_reordering(mp_comm, mp_new_comm, ranks_order)

re-create the system default communicator with a different MPI rank order

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: mp_comm

[output] : handle of the default communicator

type(mp_comm_type), intent(out) :: mp_new_comm
integer, DIMENSION(:), CONTIGUOUS :: ranks_order

public subroutine mp_world_finalize()

finalizes the system default communicator

Arguments

None

public subroutine add_mp_perf_env(perf_env)

start and stop the performance indicators for every call to start there has to be (exactly) one call to stop

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_perf_env_type), optional, POINTER :: perf_env

private subroutine mp_perf_env_create(perf_env)

Arguments

Type IntentOptional Attributes Name
type(mp_perf_env_type), optional, POINTER :: perf_env

public subroutine mp_perf_env_release(perf_env)

Arguments

Type IntentOptional Attributes Name
type(mp_perf_env_type), POINTER :: perf_env

public subroutine mp_perf_env_retain(perf_env)

Arguments

Type IntentOptional Attributes Name
type(mp_perf_env_type), POINTER :: perf_env

private subroutine mp_perf_env_describe(perf_env, iw)

Arguments

Type IntentOptional Attributes Name
type(mp_perf_env_type), POINTER :: perf_env
integer, intent(in) :: iw

public subroutine rm_mp_perf_env()

Arguments

None

public subroutine describe_mp_perf_env(scr)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: scr

public subroutine mp_abort()

globally stops all tasks this is intended to be low level, most of CP2K should call dbcsr_abort()

Arguments

None

private subroutine mp_stop(ierr, prg_code)

stops after an mpi error translating the error code

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ierr

an error code * returned by an mpi call *

character(len=*) :: prg_code

public subroutine mp_sync(group)

synchronizes with a barrier a given group of mpi tasks

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: group

mpi communicator

public subroutine mp_isync(group, request)

synchronizes with a barrier a given group of mpi tasks

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: group

mpi communicator

type(mp_request_type), intent(out) :: request

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.

Read more…

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 subroutine mp_cart_create(comm_old, ndims, dims, pos, comm_cart)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm_old
integer, intent(in) :: ndims
integer, intent(inout), CONTIGUOUS :: dims(:)
integer, intent(out), CONTIGUOUS :: pos(:)
type(mp_comm_type), intent(out) :: comm_cart

public subroutine mp_cart_coords(comm, rank, coords)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm
integer, intent(in) :: rank
integer, intent(out), DIMENSION(:), CONTIGUOUS :: coords

public subroutine mp_comm_compare(comm1, comm2, res)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm1
type(mp_comm_type), intent(in) :: comm2
integer, intent(out) :: res

public subroutine mp_cart_sub(comm, rdim, sub_comm)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm
logical, intent(in), DIMENSION(:), CONTIGUOUS :: rdim
type(mp_comm_type), intent(out) :: sub_comm

public subroutine mp_comm_free(comm)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(inout) :: comm

public subroutine mp_comm_dup(comm1, comm2)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm1
type(mp_comm_type), intent(out) :: comm2

public subroutine mp_rank_compare(comm1, comm2, rank)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm1
type(mp_comm_type), intent(in) :: comm2
integer, intent(out), DIMENSION(:), CONTIGUOUS :: rank

public subroutine mp_dims_create(nodes, dims)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nodes
integer, intent(inout), DIMENSION(:), CONTIGUOUS :: dims

public subroutine mp_cart_rank(group, pos, rank)

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: group
integer, intent(in), DIMENSION(:), CONTIGUOUS :: pos
integer, intent(out) :: rank

public subroutine mp_wait(request)

waits for completion of the given request

Read more…

Arguments

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

private subroutine mp_waitall_1(requests)

waits for completion of the given requests

Read more…

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 subroutine mp_waitany(requests, completed)

waits for completion of any of the given requests

Arguments

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

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

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 subroutine mp_comm_split_direct(comm, sub_comm, color, key)

the direct way to split a communicator each color is a sub_comm, the rank order is accoring to the order in the orig comm

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm
type(mp_comm_type), intent(out) :: sub_comm
integer, intent(in) :: color
integer, intent(in), optional :: key

public subroutine mp_comm_split(comm, sub_comm, ngroups, group_distribution, subgroup_min_size, n_subgroups, group_partition, stride)

splits the given communicator in group in subgroups trying to organize them in a way that the communication within each subgroup is efficient (but not necessarily the communication between subgroups)

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: comm

the mpi communicator that you want to split

type(mp_comm_type), intent(out) :: sub_comm

the communicator for the subgroup (created, needs to be freed later)

integer, intent(out) :: ngroups

actual number of groups

integer, DIMENSION(0:) :: group_distribution

input : allocated with array with the nprocs entries (0 .. nprocs-1)

integer, intent(in), optional :: subgroup_min_size

the minimum size of the subgroup the number of subgroups wanted

integer, intent(in), optional :: n_subgroups

the minimum size of the subgroup the number of subgroups wanted

integer, optional, DIMENSION(0:) :: group_partition

n_subgroups sized array containing the number of cpus wanted per group. should match the total number of cpus (only used if present and associated) (0..ngroups-1)

integer, optional :: stride

create groups using a stride (default=1) through the ranks of the comm to be split.

public subroutine mp_probe(source, comm, tag)

probes for an incoming message with any tag

Arguments

Type IntentOptional Attributes Name
integer :: source

the source of the possible incoming message, if MP_ANY_SOURCE it is a blocking one and return value is the source of the next incoming message if source is a different value it is a non-blocking probe retuning MP_ANY_SOURCE if there is no incoming message

type(mp_comm_type), intent(in) :: comm

the communicator

integer, intent(out) :: tag

the tag of the incoming message

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_isend_bv(msgin, dest, comm, request, tag)

Non-blocking send of logical vector data

Read more…

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_irecv_bv(msgout, source, comm, request, tag)

Non-blocking receive of logical vector data

Read more…

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

private subroutine mp_minloc_dv(msg, gid)

Finds the location of the minimal element in a vector.

Read more…

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

private subroutine mp_maxloc_dv(msg, gid)

Finds the location of the maximal element in a vector.

Read more…

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

private subroutine mp_sum_b(msg, gid)

Logical OR reduction

Read more…

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

Read more…

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

private subroutine mp_isum_bv(msg, gid, request)

Logical OR reduction

Read more…

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 subroutine mp_get_library_version(version, resultlen)

Get Version of the MPI Library (MPI 3)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(out) :: version

Version of the library, declared as CHARACTER(LEN=mp_max_library_version_string)

integer, intent(out) :: resultlen

Length (in printable characters) of the result returned in version (integer)

public subroutine mp_get_processor_name(procname, resultlen)

Get a unique specifier for the actual (as opposed to virtual) node (MPI 2.1)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(out) :: procname

Name of processor

integer, intent(out), optional :: resultlen

Length (in characters) of procname (INTEGER)

public subroutine mp_file_open(groupid, fh, filepath, amode_status, info)

Opens a file

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_comm_type), intent(in) :: groupid

message passing environment identifier

type(mp_file_type), intent(out) :: fh

file handle (file storage unit)

character(len=*), intent(in) :: filepath

path to the file

integer, intent(in) :: amode_status

access mode

type(mp_info_type), intent(in), optional :: info

info object

public subroutine mp_file_delete(filepath, info)

Deletes a file. Auxiliary routine to emulate 'replace' action for mp_file_open. Only the master processor should call this routine.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filepath

path to the file

type(mp_info_type), intent(in), optional :: info

info object

public subroutine mp_file_close(fh)

Closes a file

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(inout) :: fh

file handle (file storage unit)

public subroutine mp_file_get_size(fh, file_size)

Returns the file size

Read more…

Arguments

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

file handle (file storage unit)

integer(kind=file_offset), intent(out) :: file_size

the file size

public subroutine mp_file_get_position(fh, pos)

Returns the file position

Read more…

Arguments

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

file handle (file storage unit)

integer(kind=file_offset), intent(out) :: pos

the file position

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

private subroutine mp_file_write_at_all_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

private subroutine mp_file_read_at_all_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(out) :: msg

public subroutine mp_type_size(type_descriptor, type_size)

Returns the size of a data type in bytes

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_type_descriptor_type), intent(in) :: type_descriptor

data type

integer, intent(out) :: type_size

size of the data type

private recursive subroutine mp_type_free_m(type_descriptor)

Arguments

Type IntentOptional Attributes Name
type(mp_type_descriptor_type), intent(inout) :: type_descriptor

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

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 subroutine mp_win_free(win)

Window free

Arguments

Type IntentOptional Attributes Name
type(mp_win_type), intent(inout) :: win

public subroutine mp_win_flush_all(win)

Window flush

Arguments

Type IntentOptional Attributes Name
type(mp_win_type), intent(in) :: win

public subroutine mp_win_lock_all(win)

Window lock

Arguments

Type IntentOptional Attributes Name
type(mp_win_type), intent(inout) :: win

public subroutine mp_win_unlock_all(win)

Window lock

Arguments

Type IntentOptional Attributes Name
type(mp_win_type), intent(inout) :: win

private subroutine mp_alltoall_i11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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_i(sb, rb, count, group)

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

Read more…

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

Read more…

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

Read more…

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_send_i(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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_recv_i(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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_bcast_i(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_i(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_iv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_iv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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_bcast_im(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_i(msg, gid)

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

Read more…

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.

Read more…

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_isum_iv(msg, gid, request)

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

Read more…

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_sum_im(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_root_iv(msg, root, gid)

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

Read more…

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.

Read more…

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_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_max_i(msg, gid)

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

Read more…

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.

Read more…

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_min_i(msg, gid)

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

Read more…

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.

Read more…

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_prod_i(msg, gid)

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

Read more…

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_iscatter_i(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iscatterv_iv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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_gather_i(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_iv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_im(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_iv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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_allgather_i(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_i(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_i12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_i11(msgout, msgin, gid, request)

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

Read more…

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_i13(msgout, msgin, gid, request)

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

Read more…

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_i22(msgout, msgin, gid, request)

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

Read more…

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_i24(msgout, msgin, gid, request)

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

Read more…

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_i33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_iv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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_iallgatherv_iv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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_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_isendrecv_i(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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_isend_iv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_iv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_iv(base, comm, win)

Window initialization function for vector data

Read more…

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_rget_iv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided get function for vector data

Read more…

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_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_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_file_write_at_iv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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

Read more…

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_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_read_at_all_iv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
integer(kind=int_4), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_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(out) :: msg

private subroutine mp_alltoall_l11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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_l(sb, rb, count, group)

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

Read more…

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

Read more…

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

Read more…

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_send_l(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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_recv_l(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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_bcast_l(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_l(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_lv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_lv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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_bcast_lm(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_l(msg, gid)

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

Read more…

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.

Read more…

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_isum_lv(msg, gid, request)

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

Read more…

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_sum_lm(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_root_lv(msg, root, gid)

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

Read more…

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.

Read more…

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_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_max_l(msg, gid)

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

Read more…

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.

Read more…

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_min_l(msg, gid)

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

Read more…

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.

Read more…

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_prod_l(msg, gid)

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

Read more…

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_iscatter_l(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_lv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iscatterv_lv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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_gather_l(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_lv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_lm(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_lv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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_allgather_l(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_l(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_l12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_l11(msgout, msgin, gid, request)

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

Read more…

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_l13(msgout, msgin, gid, request)

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

Read more…

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_l22(msgout, msgin, gid, request)

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

Read more…

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_l24(msgout, msgin, gid, request)

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

Read more…

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_l33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_lv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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_iallgatherv_lv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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_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_isendrecv_l(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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_isend_lv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_lv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_lv(base, comm, win)

Window initialization function for vector data

Read more…

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_rget_lv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided get function for vector data

Read more…

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_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_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_file_write_at_lv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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

Read more…

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_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_read_at_all_lv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
integer(kind=int_8), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_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(out) :: msg

private subroutine mp_alltoall_d11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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_d(sb, rb, count, group)

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

Read more…

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

Read more…

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

Read more…

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_send_d(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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_recv_d(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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_bcast_d(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_d(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_dv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_dv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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_bcast_dm(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_d(msg, gid)

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

Read more…

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.

Read more…

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_isum_dv(msg, gid, request)

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

Read more…

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_sum_dm(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_root_dv(msg, root, gid)

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

Read more…

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.

Read more…

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_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_max_d(msg, gid)

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

Read more…

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.

Read more…

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_min_d(msg, gid)

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

Read more…

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.

Read more…

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_prod_d(msg, gid)

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

Read more…

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_iscatter_d(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_dv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iscatterv_dv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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_gather_d(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_dv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_dm(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_dv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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_allgather_d(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_d(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_d12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_d11(msgout, msgin, gid, request)

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

Read more…

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_d13(msgout, msgin, gid, request)

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

Read more…

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_d22(msgout, msgin, gid, request)

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

Read more…

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_d24(msgout, msgin, gid, request)

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

Read more…

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_d33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_dv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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_iallgatherv_dv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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_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_isendrecv_d(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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_isend_dv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_dv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_dv(base, comm, win)

Window initialization function for vector data

Read more…

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_rget_dv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided get function for vector data

Read more…

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_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_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_file_write_at_dv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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

Read more…

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_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_read_at_all_dv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
real(kind=real_8), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_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(out) :: msg

private subroutine mp_alltoall_r11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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_r(sb, rb, count, group)

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

Read more…

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

Read more…

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

Read more…

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_send_r(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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_recv_r(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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_bcast_r(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_r(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_rv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_rv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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_bcast_rm(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_r(msg, gid)

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

Read more…

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.

Read more…

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_isum_rv(msg, gid, request)

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

Read more…

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_sum_rm(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_root_rv(msg, root, gid)

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

Read more…

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.

Read more…

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_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_max_r(msg, gid)

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

Read more…

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.

Read more…

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_min_r(msg, gid)

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

Read more…

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.

Read more…

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_prod_r(msg, gid)

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

Read more…

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_iscatter_r(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_rv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iscatterv_rv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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_gather_r(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_rv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_rm(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_rv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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_allgather_r(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_r(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_r12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_r11(msgout, msgin, gid, request)

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

Read more…

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_r13(msgout, msgin, gid, request)

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

Read more…

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_r22(msgout, msgin, gid, request)

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

Read more…

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_r24(msgout, msgin, gid, request)

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

Read more…

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_r33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_rv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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_iallgatherv_rv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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_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_isendrecv_r(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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_isend_rv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_rv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_rv(base, comm, win)

Window initialization function for vector data

Read more…

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_rget_rv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided get function for vector data

Read more…

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_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_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_file_write_at_rv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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

Read more…

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_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_read_at_all_rv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
real(kind=real_4), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_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(out) :: msg

private subroutine mp_alltoall_z11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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_z(sb, rb, count, group)

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

Read more…

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

Read more…

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

Read more…

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_send_z(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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_recv_z(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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_bcast_z(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_z(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_zv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_zv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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_bcast_zm(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_z(msg, gid)

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

Read more…

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.

Read more…

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_isum_zv(msg, gid, request)

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

Read more…

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_sum_zm(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_zv(msg, root, gid)

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

Read more…

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.

Read more…

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_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_max_z(msg, gid)

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

Read more…

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.

Read more…

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_min_z(msg, gid)

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

Read more…

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.

Read more…

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_prod_z(msg, gid)

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

Read more…

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_iscatter_z(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_zv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_zv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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

private subroutine mp_gather_z(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_zv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_zm(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_zv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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_allgather_z(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_z(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_z12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_z11(msgout, msgin, gid, request)

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

Read more…

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_z13(msgout, msgin, gid, request)

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

Read more…

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_z22(msgout, msgin, gid, request)

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

Read more…

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_z24(msgout, msgin, gid, request)

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

Read more…

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_z33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_zv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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

private subroutine mp_iallgatherv_zv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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_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_isendrecv_z(msgin, dest, msgout, source, comm, send_request, recv_request, tag)

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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_isend_zv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_zv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_zv(base, comm, win)

Window initialization function for vector data

Read more…

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_rget_zv(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided get function for vector data

Read more…

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_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_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_file_write_at_zv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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

Read more…

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(:)
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_read_at_all_zv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
complex(kind=real_8), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_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(out) :: msg

private subroutine mp_alltoall_c11v(sb, scount, sdispl, rb, rcount, rdispl, group)

All-to-all data exchange, rank-1 data of different sizes

Read more…

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

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

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

Read more…

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

Read more…

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

Read more…

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_send_c(msg, dest, tag, gid)

Send one datum to another process

Read more…

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

Read more…

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

private subroutine mp_recv_c(msg, source, tag, gid)

Receive one datum from another process

Read more…

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

Read more…

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

private subroutine mp_bcast_c(msg, source, gid)

Broadcasts a datum to all processes.

Read more…

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_ibcast_c(msg, source, gid, request)

Broadcasts a datum to all processes.

Read more…

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_bcast_cv(msg, source, gid)

Broadcasts rank-1 data to all processes

Read more…

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_ibcast_cv(msg, source, gid, request)

Broadcasts rank-1 data to all processes

Read more…

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

private subroutine mp_bcast_cm(msg, source, gid)

Broadcasts rank-2 data to all processes

Read more…

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

Read more…

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_sum_c(msg, gid)

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

Read more…

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.

Read more…

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_isum_cv(msg, gid, request)

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

Read more…

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_sum_cm(msg, gid)

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

Read more…

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.

Read more…

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.

Read more…

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_root_cv(msg, root, gid)

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

Read more…

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.

Read more…

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

private subroutine mp_max_c(msg, gid)

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

Read more…

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.

Read more…

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

private subroutine mp_min_c(msg, gid)

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

Read more…

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.

Read more…

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

private subroutine mp_prod_c(msg, gid)

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

Read more…

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

private subroutine mp_iscatter_c(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_cv2(msg_scatter, msg, root, gid, request)

Scatters data from one processes to all others

Read more…

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_iscatterv_cv(msg_scatter, sendcounts, displs, msg, recvcount, root, gid, request)

Scatters data from one processes to all others

Read more…

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_gather_c(msg, msg_gather, root, gid)

Gathers a datum from all processes to one

Read more…

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_cv(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_cm(msg, msg_gather, root, gid)

Gathers data from all processes to one

Read more…

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_gatherv_cv(sendbuf, recvbuf, recvcounts, displs, root, comm)

Gathers data from all processes to one.

Read more…

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

private subroutine mp_allgather_c(msgout, msgin, gid)

Gathers a datum from all processes and all processes receive the same data

Read more…

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

Read more…

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_iallgather_c(msgout, msgin, gid, request)

Gathers a datum from all processes and all processes receive the same data

Read more…

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_allgather_c12(msgout, msgin, gid)

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

Read more…

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

Read more…

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

Read more…

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

Read more…

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_iallgather_c11(msgout, msgin, gid, request)

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

Read more…

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_c13(msgout, msgin, gid, request)

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

Read more…

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_c22(msgout, msgin, gid, request)

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

Read more…

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_c24(msgout, msgin, gid, request)

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

Read more…

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_c33(msgout, msgin, gid, request)

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

Read more…

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_allgatherv_cv(msgout, msgin, rcount, rdispl, gid)

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

Read more…

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_iallgatherv_cv(msgout, msgin, rcount, rdispl, gid, request)

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

Read more…

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

Read more…

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

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

Non-blocking send and receive of a scalar

Read more…

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

Read more…

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

private subroutine mp_isend_cv(msgin, dest, comm, request, tag)

Non-blocking send of vector data

Read more…

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

Read more…

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_irecv_cv(msgout, source, comm, request, tag)

Non-blocking receive of vector data

Read more…

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

Read more…

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_win_create_cv(base, comm, win)

Window initialization function for vector data

Read more…

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

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

Single-sided get function for vector data

Read more…

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

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

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

private subroutine mp_file_write_at_cv(fh, offset, msg, msglen)

(parallel) Blocking individual file write using explicit offsets (serial) Unformatted stream write

Read more…

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_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_all_cv(fh, offset, msg, msglen)

(parallel) Blocking collective file write using explicit offsets (serial) Unformatted stream write

Read more…

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(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_write_at_all_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_read_at_all_cv(fh, offset, msg, msglen)

(parallel) Blocking collective file read using explicit offsets (serial) Unformatted stream read

Read more…

Arguments

Type IntentOptional Attributes Name
type(mp_file_type), intent(in) :: fh
integer(kind=file_offset), intent(in) :: offset
complex(kind=real_4), intent(out) :: msg(:)
integer, intent(in), optional :: msglen

private subroutine mp_file_read_at_all_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(out) :: msg