Wrappers to message passing calls.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_mp_operations' |
Row/column and global all-to-all
Communicator selection Uses row and column communicators for row/column sends. Remaining sends are performed using the global communicator. Point-to-point isend/irecv are used if ptp is set, otherwise a alltoall collective call is issued. see mp_alltoall
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Communicator selection Uses row and column communicators for row/column sends. Remaining sends are performed using the global communicator. Point-to-point isend/irecv are used if ptp is set, otherwise a alltoall collective call is issued. see mp_alltoall
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Communicator selection Uses row and column communicators for row/column sends. Remaining sends are performed using the global communicator. Point-to-point isend/irecv are used if ptp is set, otherwise a alltoall collective call is issued. see mp_alltoall
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Communicator selection Uses row and column communicators for row/column sends. Remaining sends are performed using the global communicator. Point-to-point isend/irecv are used if ptp is set, otherwise a alltoall collective call is issued. see mp_alltoall
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Communicator selection Uses row and column communicators for row/column sends. Remaining sends are performed using the global communicator. Point-to-point isend/irecv are used if ptp is set, otherwise a alltoall collective call is issued. see mp_alltoall
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Creates an MPI combined type from the given anytype.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | data_area |
Data area of any type |
Type descriptor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
sendrecv of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | msgin | |||
integer, | intent(in) | :: | dest | |||
type(dbcsr_data_obj), | intent(inout) | :: | msgout | |||
integer, | intent(in) | :: | source | |||
type(mp_comm_type), | intent(in) | :: | comm |
Non-blocking send of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | msgin | |||
integer, | intent(in) | :: | dest | |||
type(mp_comm_type), | intent(in) | :: | comm | |||
type(mp_request_type), | intent(out) | :: | request | |||
integer, | intent(in), | optional | :: | tag |
Non-blocking recv of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | msgin | |||
integer, | intent(in) | :: | source | |||
type(mp_comm_type), | intent(in) | :: | comm | |||
type(mp_request_type), | intent(out) | :: | request | |||
integer, | intent(in), | optional | :: | tag |
Window initialization function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | base | |||
type(mp_comm_type), | intent(in) | :: | comm | |||
type(mp_win_type), | intent(out) | :: | win |
Single-sided Get function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | base | |||
integer, | intent(in) | :: | source | |||
type(mp_win_type), | intent(in) | :: | win | |||
type(dbcsr_data_obj), | intent(in) | :: | 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 |
Bcast function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | base | |||
integer, | intent(in) | :: | source | |||
type(mp_comm_type), | intent(in) | :: | grp | |||
type(mp_request_type), | intent(inout) | :: | request |
Scatter function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 | |||
type(mp_comm_type), | intent(in) | :: | grp | |||
type(mp_request_type), | intent(inout) | :: | request |
Gather function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 | |||
type(mp_comm_type), | intent(in) | :: | grp |
Send/Recv function of encapsulated data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_data_obj), | intent(in) | :: | msgin | |||
integer, | intent(in) | :: | dest | |||
type(dbcsr_data_obj), | intent(inout) | :: | msgout | |||
integer, | intent(in) | :: | source | |||
type(mp_comm_type), | intent(in) | :: | grp | |||
type(mp_request_type), | intent(out) | :: | send_request | |||
type(mp_request_type), | intent(out) | :: | recv_request |
Allgather of encapsulated data
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 | ||
type(mp_comm_type), | intent(in) | :: | gid |
Row/column and global all-to-all
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Row/column and global all-to-all
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |