dbcsr_mp_operations Module

Wrappers to message passing calls.



Contents


Variables

TypeVisibilityAttributesNameInitial
character(len=*), private, parameter:: moduleN ='dbcsr_mp_operations'

Interfaces

private interface dbcsr_hybrid_alltoall

  • public subroutine hybrid_alltoall_s1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Row/column and global all-to-all

    Read more…

    Arguments

    TypeIntentOptionalAttributesName
    real(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    real(kind=real_4), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env

    MP Environment

    logical, intent(in), optional :: most_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: remainder_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: no_hybrid

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

  • public subroutine hybrid_alltoall_d1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Row/column and global all-to-all

    Read more…

    Arguments

    TypeIntentOptionalAttributesName
    real(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    real(kind=real_8), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env

    MP Environment

    logical, intent(in), optional :: most_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: remainder_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: no_hybrid

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

  • public subroutine hybrid_alltoall_c1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Row/column and global all-to-all

    Read more…

    Arguments

    TypeIntentOptionalAttributesName
    complex(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    complex(kind=real_4), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env

    MP Environment

    logical, intent(in), optional :: most_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: remainder_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: no_hybrid

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

  • public subroutine hybrid_alltoall_z1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Row/column and global all-to-all

    Read more…

    Arguments

    TypeIntentOptionalAttributesName
    complex(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    complex(kind=real_8), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env

    MP Environment

    logical, intent(in), optional :: most_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: remainder_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: no_hybrid

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

  • public subroutine hybrid_alltoall_i1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Row/column and global all-to-all

    Read more…

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    integer, intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env

    MP Environment

    logical, intent(in), optional :: most_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: remainder_ptp

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

    logical, intent(in), optional :: no_hybrid

    Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

  • public subroutine hybrid_alltoall_any(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

    Arguments

    TypeIntentOptionalAttributesName
    type(dbcsr_data_obj), intent(in) :: sb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
    type(dbcsr_data_obj), intent(inout) :: rb
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
    integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
    type(dbcsr_mp_obj), intent(in) :: mp_env
    logical, intent(in), optional :: most_ptp
    logical, intent(in), optional :: remainder_ptp
    logical, intent(in), optional :: no_hybrid

Functions

public function dbcsr_mp_type_from_anytype(data_area) result(mp_type)

Creates an MPI combined type from the given anytype.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: data_area

Data area of any type

Return Value type(mp_type_descriptor_type)

Type descriptor


Subroutines

public subroutine hybrid_alltoall_any(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
type(dbcsr_data_obj), intent(inout) :: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env
logical, intent(in), optional :: most_ptp
logical, intent(in), optional :: remainder_ptp
logical, intent(in), optional :: no_hybrid

public subroutine hybrid_alltoall_i1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Read more…

Arguments

TypeIntentOptionalAttributesName
integer, intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
integer, intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env

MP Environment

logical, intent(in), optional :: most_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: remainder_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: no_hybrid

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

public subroutine dbcsr_sendrecv_any(msgin, dest, msgout, source, comm)

sendrecv of encapsulated data.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: msgin
integer, intent(in) :: dest
type(dbcsr_data_obj), intent(inout) :: msgout
integer, intent(in) :: source
integer, intent(in) :: comm

public subroutine dbcsr_isend_any(msgin, dest, comm, request, tag)

Non-blocking send of encapsulated data.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: msgin
integer, intent(in) :: dest
integer, intent(in) :: comm
integer, intent(out) :: request
integer, intent(in), optional :: tag

public subroutine dbcsr_irecv_any(msgin, source, comm, request, tag)

Non-blocking recv of encapsulated data.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: msgin
integer, intent(in) :: source
integer, intent(in) :: comm
integer, intent(out) :: request
integer, intent(in), optional :: tag

public subroutine dbcsr_win_create_any(base, comm, win)

Window initialization function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: base
integer, intent(in) :: comm
integer, intent(out) :: win

public subroutine dbcsr_rget_any(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided Get function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: base
integer, intent(in) :: source
integer, intent(in) :: win
type(dbcsr_data_obj), intent(in) :: win_data
integer, intent(in), optional :: myproc
integer, intent(in), optional :: disp
integer, intent(out) :: request
type(mp_type_descriptor_type), intent(in), optional :: origin_datatype
type(mp_type_descriptor_type), intent(in), optional :: target_datatype

public subroutine dbcsr_ibcast_any(base, source, grp, request)

Bcast function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: base
integer, intent(in) :: source
integer, intent(in) :: grp
integer, intent(inout) :: request

public subroutine dbcsr_iscatterv_any(base, counts, displs, msg, recvcount, root, grp, request)

Scatter function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: base
integer, intent(in), DIMENSION(:), CONTIGUOUS:: counts
integer, intent(in), DIMENSION(:), CONTIGUOUS:: displs
type(dbcsr_data_obj), intent(inout) :: msg
integer, intent(in) :: recvcount
integer, intent(in) :: root
integer, intent(in) :: grp
integer, intent(inout) :: request

public subroutine dbcsr_gatherv_any(base, ub_base, msg, counts, displs, root, grp)

Gather function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: base
integer, intent(in) :: ub_base
type(dbcsr_data_obj), intent(inout) :: msg
integer, intent(in), DIMENSION(:), CONTIGUOUS:: counts
integer, intent(in), DIMENSION(:), CONTIGUOUS:: displs
integer, intent(in) :: root
integer, intent(in) :: grp

public subroutine dbcsr_isendrecv_any(msgin, dest, msgout, source, grp, send_request, recv_request)

Send/Recv function of encapsulated data.

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: msgin
integer, intent(in) :: dest
type(dbcsr_data_obj), intent(inout) :: msgout
integer, intent(in) :: source
integer, intent(in) :: grp
integer, intent(out) :: send_request
integer, intent(out) :: recv_request

public subroutine dbcsr_allgatherv(send_data, scount, recv_data, recv_count, recv_displ, gid)

Allgather of encapsulated data

Read more…

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_data_obj), intent(in) :: send_data
integer, intent(in) :: scount
type(dbcsr_data_obj), intent(inout) :: recv_data
integer, intent(in), DIMENSION(:), CONTIGUOUS:: recv_count
integer, intent(in), DIMENSION(:), CONTIGUOUS:: recv_displ
integer, intent(in) :: gid

public subroutine hybrid_alltoall_d1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
real(kind=real_8), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env

MP Environment

logical, intent(in), optional :: most_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: remainder_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: no_hybrid

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

public subroutine hybrid_alltoall_s1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Read more…

Arguments

TypeIntentOptionalAttributesName
real(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
real(kind=real_4), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env

MP Environment

logical, intent(in), optional :: most_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: remainder_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: no_hybrid

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

public subroutine hybrid_alltoall_z1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Read more…

Arguments

TypeIntentOptionalAttributesName
complex(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
complex(kind=real_8), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env

MP Environment

logical, intent(in), optional :: most_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: remainder_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: no_hybrid

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

public subroutine hybrid_alltoall_c1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Read more…

Arguments

TypeIntentOptionalAttributesName
complex(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS, TARGET:: sb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: scount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: sdispl
complex(kind=real_4), intent(inout), DIMENSION(:), CONTIGUOUS, TARGET:: rb
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rcount
integer, intent(in), DIMENSION(:), CONTIGUOUS:: rdispl
type(dbcsr_mp_obj), intent(in) :: mp_env

MP Environment

logical, intent(in), optional :: most_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: remainder_ptp

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no

logical, intent(in), optional :: no_hybrid

Use point-to-point for row/column; default is no Use point-to-point for remaining; default is no Use regular global collective; default is no