Documentation for module dbcsr_mp_operations

Wrappers to message passing calls.

source: dbcsr_mp_operations.F
Loading...

public Subroutines/Functions:

Allgather of encapsulated data
Gather function of encapsulated data.
Bcast function of encapsulated data.
Non-blocking recv of encapsulated data.
Scatter function of encapsulated data.
Send/Recv function of encapsulated data.
Non-blocking send of encapsulated data.
Creates an MPI combined type from the given anytype.
Single-sided Get function of encapsulated data.
sendrecv of encapsulated data.
Window initialization function of encapsulated data.
...
Row/column and global all-to-all
Row/column and global all-to-all
Row/column and global all-to-all
Row/column and global all-to-all
Row/column and global all-to-all

SUBROUTINEdbcsr_allgatherv(send_data, scount, recv_data, recv_count, recv_displ, gid)

Allgather of encapsulated data

Arguments:
INTENT(in)
:: send_data ...
INTEGER,
INTENT(in)
:: scount ...
INTENT(inout)
:: recv_data ...
INTEGER,
INTENT(in)
:: recv_count(:) ...
INTEGER,
INTENT(in)
:: recv_displ(:) ...
INTEGER,
INTENT(in)
:: gid ...

SUBROUTINEdbcsr_gatherv_any(base, ub_base, msg, counts, displs, root, grp)

Gather function of encapsulated data.

Arguments:
INTENT(in)
:: base ...
INTEGER,
INTENT(in)
:: ub_base ...
INTENT(inout)
:: msg ...
INTEGER,
INTENT(in)
:: counts(:) ...
INTEGER,
INTENT(in)
:: displs(:) ...
INTEGER,
INTENT(in)
:: root ...
INTEGER,
INTENT(in)
:: grp ...

SUBROUTINEdbcsr_ibcast_any(base, source, grp, request)

Bcast function of encapsulated data.

Arguments:
INTENT(in)
:: base ...
INTEGER,
INTENT(in)
:: source ...
INTEGER,
INTENT(in)
:: grp ...
INTEGER,
INTENT(inout)
:: request ...

SUBROUTINEdbcsr_irecv_any(msgin, source, comm, request, tag)

Non-blocking recv of encapsulated data.

Arguments:
INTENT(in)
:: msgin ...
INTEGER,
INTENT(in)
:: source ...
INTEGER,
INTENT(in)
:: comm ...
INTEGER,
INTENT(out)
:: request ...
INTEGER,
INTENT(in),
OPTIONAL
:: tag ...

SUBROUTINEdbcsr_iscatterv_any(base, counts, displs, msg, recvcount, root, grp, request)

Scatter function of encapsulated data.

Arguments:
INTENT(in)
:: base ...
INTEGER,
INTENT(in)
:: counts(:) ...
INTEGER,
INTENT(in)
:: displs(:) ...
INTENT(inout)
:: msg ...
INTEGER,
INTENT(in)
:: recvcount ...
INTEGER,
INTENT(in)
:: root ...
INTEGER,
INTENT(in)
:: grp ...
INTEGER,
INTENT(inout)
:: request ...

SUBROUTINEdbcsr_isendrecv_any(msgin, dest, msgout, source, grp, send_request, recv_request)

Send/Recv function of encapsulated data.

Arguments:
INTENT(in)
:: msgin ...
INTEGER,
INTENT(in)
:: dest ...
INTENT(inout)
:: msgout ...
INTEGER,
INTENT(in)
:: source ...
INTEGER,
INTENT(in)
:: grp ...
INTEGER,
INTENT(out)
:: send_request ...
INTEGER,
INTENT(out)
:: recv_request ...

SUBROUTINEdbcsr_isend_any(msgin, dest, comm, request, tag)

Non-blocking send of encapsulated data.

Arguments:
INTENT(in)
:: msgin ...
INTEGER,
INTENT(in)
:: dest ...
INTEGER,
INTENT(in)
:: comm ...
INTEGER,
INTENT(out)
:: request ...
INTEGER,
INTENT(in),
OPTIONAL
:: tag ...

FUNCTIONdbcsr_mp_type_from_anytype(data_area)

Creates an MPI combined type from the given anytype.

Return Value ::
Type descriptor
Arguments:
INTENT(in)
:: data_area Data area of any type

SUBROUTINEdbcsr_rget_any(base, source, win, win_data, myproc, disp, request, origin_datatype, target_datatype)

Single-sided Get function of encapsulated data.

Arguments:
INTENT(in)
:: base ...
INTEGER,
INTENT(in)
:: source ...
INTEGER,
INTENT(in)
:: win ...
INTENT(in)
:: win_data ...
INTEGER,
INTENT(in),
OPTIONAL
:: myproc ...
INTEGER,
INTENT(in),
OPTIONAL
:: disp ...
INTEGER,
INTENT(out)
:: request ...
INTENT(in),
OPTIONAL
:: origin_datatype ...
INTENT(in),
OPTIONAL
:: target_datatype ...

SUBROUTINEdbcsr_sendrecv_any(msgin, dest, msgout, source, comm)

sendrecv of encapsulated data.

Arguments:
INTENT(in)
:: msgin ...
INTEGER,
INTENT(in)
:: dest ...
INTENT(inout)
:: msgout ...
INTEGER,
INTENT(in)
:: source ...
INTEGER,
INTENT(in)
:: comm ...

SUBROUTINEdbcsr_win_create_any(base, comm, win)

Window initialization function of encapsulated data.

Arguments:
INTENT(in)
:: base ...
INTEGER,
INTENT(in)
:: comm ...
INTEGER,
INTENT(out)
:: win ...

SUBROUTINEhybrid_alltoall_any(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

...

Arguments:
INTENT(in)
:: sb ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
INTENT(inout)
:: rb ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env ...
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp ...
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp ...
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid ...

SUBROUTINEhybrid_alltoall_c1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Arguments:
COMPLEX(real_4),
INTENT(in),
TARGET
:: sb(:) ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
COMPLEX(real_4),
INTENT(inout),
TARGET
:: rb(:) ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env MP Environment
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp Use point-to-point for row/column; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp Use point-to-point for remaining; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid Use regular global collective; default is no

SUBROUTINEhybrid_alltoall_d1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Arguments:
REAL(real_8),
INTENT(in),
TARGET
:: sb(:) ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
REAL(real_8),
INTENT(inout),
TARGET
:: rb(:) ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env MP Environment
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp Use point-to-point for row/column; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp Use point-to-point for remaining; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid Use regular global collective; default is no

SUBROUTINEhybrid_alltoall_i1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Arguments:
INTEGER,
INTENT(in),
TARGET
:: sb(:) ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
INTEGER,
INTENT(inout),
TARGET
:: rb(:) ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env MP Environment
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp Use point-to-point for row/column; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp Use point-to-point for remaining; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid Use regular global collective; default is no

SUBROUTINEhybrid_alltoall_s1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Arguments:
REAL(real_4),
INTENT(in),
TARGET
:: sb(:) ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
REAL(real_4),
INTENT(inout),
TARGET
:: rb(:) ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env MP Environment
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp Use point-to-point for row/column; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp Use point-to-point for remaining; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid Use regular global collective; default is no

SUBROUTINEhybrid_alltoall_z1(sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)

Row/column and global all-to-all

Arguments:
COMPLEX(real_8),
INTENT(in),
TARGET
:: sb(:) ...
INTEGER,
INTENT(in)
:: scount(:) ...
INTEGER,
INTENT(in)
:: sdispl(:) ...
COMPLEX(real_8),
INTENT(inout),
TARGET
:: rb(:) ...
INTEGER,
INTENT(in)
:: rcount(:) ...
INTEGER,
INTENT(in)
:: rdispl(:) ...
INTENT(in)
:: mp_env MP Environment
LOGICAL,
INTENT(in),
OPTIONAL
:: most_ptp Use point-to-point for row/column; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: remainder_ptp Use point-to-point for remaining; default is no
LOGICAL,
INTENT(in),
OPTIONAL
:: no_hybrid Use regular global collective; default is no