(git:c5411e0)
Loading...
Searching...
No Matches
message_passing::mp_comm_type Type Reference

Public Member Functions

procedure, non_overridable, pass set_handle (this, handle, ndims)
 
procedure, non_overridable, pass get_handle (this)
 
GENERIC, public operator (comm1, comm2)
 
GENERIC, public operator (comm1, comm2)
 
GENERIC, public sendrecv mp_sendrecv_i, mp_sendrecv_l, mp_sendrecv_r, mp_sendrecv_d, mp_sendrecv_c, mp_sendrecv_z, mp_sendrecv_iv, mp_sendrecv_im2, mp_sendrecv_im3, mp_sendrecv_im4, mp_sendrecv_lv, mp_sendrecv_lm2, mp_sendrecv_lm3, mp_sendrecv_lm4, mp_sendrecv_rv, mp_sendrecv_rm2, mp_sendrecv_rm3, mp_sendrecv_rm4, mp_sendrecv_dv, mp_sendrecv_dm2, mp_sendrecv_dm3, mp_sendrecv_dm4, mp_sendrecv_cv, mp_sendrecv_cm2, mp_sendrecv_cm3, mp_sendrecv_cm4, mp_sendrecv_zv, mp_sendrecv_zm2, mp_sendrecv_zm3, mp_sendrecv_zm4
 
GENERIC, public minloc mp_minloc_iv, mp_minloc_lv, mp_minloc_rv, mp_minloc_dv
 
GENERIC, public maxloc mp_maxloc_iv, mp_maxloc_lv, mp_maxloc_rv, mp_maxloc_dv
 
GENERIC, public shift mp_shift_im, mp_shift_i, mp_shift_lm, mp_shift_l, mp_shift_rm, mp_shift_r, mp_shift_dm, mp_shift_d, mp_shift_cm, mp_shift_c, mp_shift_zm, mp_shift_z
 
GENERIC, public bcast mp_bcast_i, mp_bcast_iv, mp_bcast_im, mp_bcast_i3, mp_bcast_l, mp_bcast_lv, mp_bcast_lm, mp_bcast_l3, mp_bcast_r, mp_bcast_rv, mp_bcast_rm, mp_bcast_r3, mp_bcast_d, mp_bcast_dv, mp_bcast_dm, mp_bcast_d3, mp_bcast_c, mp_bcast_cv, mp_bcast_cm, mp_bcast_c3, mp_bcast_z, mp_bcast_zv, mp_bcast_zm, mp_bcast_z3, mp_bcast_b, mp_bcast_bv, mp_bcast_av, mp_bcast_am, mp_bcast_i_src, mp_bcast_iv_src, mp_bcast_im_src, mp_bcast_i3_src, mp_bcast_l_src, mp_bcast_lv_src, mp_bcast_lm_src, mp_bcast_l3_src, mp_bcast_r_src, mp_bcast_rv_src, mp_bcast_rm_src, mp_bcast_r3_src, mp_bcast_d_src, mp_bcast_dv_src, mp_bcast_dm_src, mp_bcast_d3_src, mp_bcast_c_src, mp_bcast_cv_src, mp_bcast_cm_src, mp_bcast_c3_src, mp_bcast_z_src, mp_bcast_zv_src, mp_bcast_zm_src, mp_bcast_z3_src, mp_bcast_b_src, mp_bcast_bv_src, mp_bcast_av_src, mp_bcast_am_src
 
GENERIC, public ibcast mp_ibcast_i, mp_ibcast_iv, mp_ibcast_l, mp_ibcast_lv, mp_ibcast_r, mp_ibcast_rv, mp_ibcast_d, mp_ibcast_dv, mp_ibcast_c, mp_ibcast_cv, mp_ibcast_z, mp_ibcast_zv
 
GENERIC, public sum mp_sum_i, mp_sum_iv, mp_sum_im, mp_sum_im3, mp_sum_im4, mp_sum_l, mp_sum_lv, mp_sum_lm, mp_sum_lm3, mp_sum_lm4, mp_sum_r, mp_sum_rv, mp_sum_rm, mp_sum_rm3, mp_sum_rm4, mp_sum_d, mp_sum_dv, mp_sum_dm, mp_sum_dm3, mp_sum_dm4, mp_sum_c, mp_sum_cv, mp_sum_cm, mp_sum_cm3, mp_sum_cm4, mp_sum_z, mp_sum_zv, mp_sum_zm, mp_sum_zm3, mp_sum_zm4, mp_sum_root_iv, mp_sum_root_im, mp_sum_root_lv, mp_sum_root_lm, mp_sum_root_rv, mp_sum_root_rm, mp_sum_root_dv, mp_sum_root_dm, mp_sum_root_cv, mp_sum_root_cm, mp_sum_root_zv, mp_sum_root_zm, mp_sum_b, mp_sum_bv
 
GENERIC, public isum mp_isum_iv, mp_isum_lv, mp_isum_rv, mp_isum_dv, mp_isum_cv, mp_isum_zv, mp_isum_bv
 
GENERIC, public sum_partial mp_sum_partial_im, mp_sum_partial_lm, mp_sum_partial_rm, mp_sum_partial_dm, mp_sum_partial_cm, mp_sum_partial_zm
 
GENERIC, public max mp_max_i, mp_max_iv, mp_max_l, mp_max_lv, mp_max_r, mp_max_rv, mp_max_d, mp_max_dv, mp_max_c, mp_max_cv, mp_max_z, mp_max_zv, mp_max_root_i, mp_max_root_l, mp_max_root_r, mp_max_root_d, mp_max_root_c, mp_max_root_z, mp_max_root_im, mp_max_root_lm, mp_max_root_rm, mp_max_root_dm, mp_max_root_cm, mp_max_root_zm
 
GENERIC, public min mp_min_i, mp_min_iv, mp_min_l, mp_min_lv, mp_min_r, mp_min_rv, mp_min_d, mp_min_dv, mp_min_c, mp_min_cv, mp_min_z, mp_min_zv
 
procedure, non_overridable, pass, public mp_sum_scatter_iv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
non_overridable, pass, public mp_sum_scatter_lv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
non_overridable, pass, public mp_sum_scatter_rv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
non_overridable, pass, public mp_sum_scatter_dv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
non_overridable, pass, public mp_sum_scatter_cv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
non_overridable, pass, public mp_sum_scatter_zv (msgout, msgin, rcount, comm)
 Sums a vector and partitions the result among processes.
 
GENERIC, public sum_scatter mp_sum_scatter_iv, mp_sum_scatter_lv, mp_sum_scatter_rv, mp_sum_scatter_dv, mp_sum_scatter_cv, mp_sum_scatter_zv
 
GENERIC, public prod mp_prod_r, mp_prod_d, mp_prod_c, mp_prod_z
 
GENERIC, public gather mp_gather_i, mp_gather_iv, mp_gather_im, mp_gather_l, mp_gather_lv, mp_gather_lm, mp_gather_r, mp_gather_rv, mp_gather_rm, mp_gather_d, mp_gather_dv, mp_gather_dm, mp_gather_c, mp_gather_cv, mp_gather_cm, mp_gather_z, mp_gather_zv, mp_gather_zm, mp_gather_i_src, mp_gather_iv_src, mp_gather_im_src, mp_gather_l_src, mp_gather_lv_src, mp_gather_lm_src, mp_gather_r_src, mp_gather_rv_src, mp_gather_rm_src, mp_gather_d_src, mp_gather_dv_src, mp_gather_dm_src, mp_gather_c_src, mp_gather_cv_src, mp_gather_cm_src, mp_gather_z_src, mp_gather_zv_src, mp_gather_zm_src
 
GENERIC, public gatherv mp_gatherv_iv, mp_gatherv_lv, mp_gatherv_rv, mp_gatherv_dv, mp_gatherv_cv, mp_gatherv_zv, mp_gatherv_lm2, mp_gatherv_rm2, mp_gatherv_dm2, mp_gatherv_cm2, mp_gatherv_zm2, mp_gatherv_iv_src, mp_gatherv_lv_src, mp_gatherv_rv_src, mp_gatherv_dv_src, mp_gatherv_cv_src, mp_gatherv_zv_src, mp_gatherv_lm2_src, mp_gatherv_rm2_src, mp_gatherv_dm2_src, mp_gatherv_cm2_src, mp_gatherv_zm2_src
 
GENERIC, public igatherv mp_igatherv_iv, mp_igatherv_lv, mp_igatherv_rv, mp_igatherv_dv, mp_igatherv_cv, mp_igatherv_zv
 
GENERIC, public allgather mp_allgather_i, mp_allgather_i2, mp_allgather_i12, mp_allgather_i23, mp_allgather_i34, mp_allgather_i22, mp_allgather_l, mp_allgather_l2, mp_allgather_l12, mp_allgather_l23, mp_allgather_l34, mp_allgather_l22, mp_allgather_r, mp_allgather_r2, mp_allgather_r12, mp_allgather_r23, mp_allgather_r34, mp_allgather_r22, mp_allgather_d, mp_allgather_d2, mp_allgather_d12, mp_allgather_d23, mp_allgather_d34, mp_allgather_d22, mp_allgather_c, mp_allgather_c2, mp_allgather_c12, mp_allgather_c23, mp_allgather_c34, mp_allgather_c22, mp_allgather_z, mp_allgather_z2, mp_allgather_z12, mp_allgather_z23, mp_allgather_z34, mp_allgather_z22
 
GENERIC, public allgatherv mp_allgatherv_iv, mp_allgatherv_lv, mp_allgatherv_rv, mp_allgatherv_dv, mp_allgatherv_cv, mp_allgatherv_zv, mp_allgatherv_im2, mp_allgatherv_lm2, mp_allgatherv_rm2, mp_allgatherv_dm2, mp_allgatherv_cm2, mp_allgatherv_zm2
 
GENERIC, public iallgather mp_iallgather_i, mp_iallgather_l, mp_iallgather_r, mp_iallgather_d, mp_iallgather_c, mp_iallgather_z, mp_iallgather_i11, mp_iallgather_l11, mp_iallgather_r11, mp_iallgather_d11, mp_iallgather_c11, mp_iallgather_z11, mp_iallgather_i13, mp_iallgather_l13, mp_iallgather_r13, mp_iallgather_d13, mp_iallgather_c13, mp_iallgather_z13, mp_iallgather_i22, mp_iallgather_l22, mp_iallgather_r22, mp_iallgather_d22, mp_iallgather_c22, mp_iallgather_z22, mp_iallgather_i24, mp_iallgather_l24, mp_iallgather_r24, mp_iallgather_d24, mp_iallgather_c24, mp_iallgather_z24, mp_iallgather_i33, mp_iallgather_l33, mp_iallgather_r33, mp_iallgather_d33, mp_iallgather_c33, mp_iallgather_z33
 
GENERIC, public iallgatherv mp_iallgatherv_iv, mp_iallgatherv_iv2, mp_iallgatherv_lv, mp_iallgatherv_lv2, mp_iallgatherv_rv, mp_iallgatherv_rv2, mp_iallgatherv_dv, mp_iallgatherv_dv2, mp_iallgatherv_cv, mp_iallgatherv_cv2, mp_iallgatherv_zv, mp_iallgatherv_zv2
 
GENERIC, public scatter mp_scatter_iv, mp_scatter_lv, mp_scatter_rv, mp_scatter_dv, mp_scatter_cv, mp_scatter_zv
 
GENERIC, public iscatter mp_iscatter_i, mp_iscatter_l, mp_iscatter_r, mp_iscatter_d, mp_iscatter_c, mp_iscatter_z, mp_iscatter_iv2, mp_iscatter_lv2, mp_iscatter_rv2, mp_iscatter_dv2, mp_iscatter_cv2, mp_iscatter_zv2
 
GENERIC, public iscatterv mp_iscatterv_iv, mp_iscatterv_lv, mp_iscatterv_rv, mp_iscatterv_dv, mp_iscatterv_cv, mp_iscatterv_zv
 
GENERIC, public alltoall mp_alltoall_i, mp_alltoall_i22, mp_alltoall_i33, mp_alltoall_i44, mp_alltoall_i55, mp_alltoall_i45, mp_alltoall_i34, mp_alltoall_i11v, mp_alltoall_i22v, mp_alltoall_i54, mp_alltoall_l, mp_alltoall_l22, mp_alltoall_l33, mp_alltoall_l44, mp_alltoall_l55, mp_alltoall_l45, mp_alltoall_l34, mp_alltoall_l11v, mp_alltoall_l22v, mp_alltoall_l54, mp_alltoall_r, mp_alltoall_r22, mp_alltoall_r33, mp_alltoall_r44, mp_alltoall_r55, mp_alltoall_r45, mp_alltoall_r34, mp_alltoall_r11v, mp_alltoall_r22v, mp_alltoall_r54, mp_alltoall_d, mp_alltoall_d22, mp_alltoall_d33, mp_alltoall_d44, mp_alltoall_d55, mp_alltoall_d45, mp_alltoall_d34, mp_alltoall_d11v, mp_alltoall_d22v, mp_alltoall_d54, mp_alltoall_c, mp_alltoall_c22, mp_alltoall_c33, mp_alltoall_c44, mp_alltoall_c55, mp_alltoall_c45, mp_alltoall_c34, mp_alltoall_c11v, mp_alltoall_c22v, mp_alltoall_c54, mp_alltoall_z, mp_alltoall_z22, mp_alltoall_z33, mp_alltoall_z44, mp_alltoall_z55, mp_alltoall_z45, mp_alltoall_z34, mp_alltoall_z11v, mp_alltoall_z22v, mp_alltoall_z54
 
GENERIC, public send mp_send_i, mp_send_iv, mp_send_im2, mp_send_im3, mp_send_l, mp_send_lv, mp_send_lm2, mp_send_lm3, mp_send_r, mp_send_rv, mp_send_rm2, mp_send_rm3, mp_send_d, mp_send_dv, mp_send_dm2, mp_send_dm3, mp_send_c, mp_send_cv, mp_send_cm2, mp_send_cm3, mp_send_z, mp_send_zv, mp_send_zm2, mp_send_zm3
 
GENERIC, public recv mp_recv_i, mp_recv_iv, mp_recv_im2, mp_recv_im3, mp_recv_l, mp_recv_lv, mp_recv_lm2, mp_recv_lm3, mp_recv_r, mp_recv_rv, mp_recv_rm2, mp_recv_rm3, mp_recv_d, mp_recv_dv, mp_recv_dm2, mp_recv_dm3, mp_recv_c, mp_recv_cv, mp_recv_cm2, mp_recv_cm3, mp_recv_z, mp_recv_zv, mp_recv_zm2, mp_recv_zm3
 
GENERIC, public isendrecv mp_isendrecv_i, mp_isendrecv_iv, mp_isendrecv_l, mp_isendrecv_lv, mp_isendrecv_r, mp_isendrecv_rv, mp_isendrecv_d, mp_isendrecv_dv, mp_isendrecv_c, mp_isendrecv_cv, mp_isendrecv_z, mp_isendrecv_zv
 
GENERIC, public isend mp_isend_iv, mp_isend_im2, mp_isend_im3, mp_isend_im4, mp_isend_lv, mp_isend_lm2, mp_isend_lm3, mp_isend_lm4, mp_isend_rv, mp_isend_rm2, mp_isend_rm3, mp_isend_rm4, mp_isend_dv, mp_isend_dm2, mp_isend_dm3, mp_isend_dm4, mp_isend_cv, mp_isend_cm2, mp_isend_cm3, mp_isend_cm4, mp_isend_zv, mp_isend_zm2, mp_isend_zm3, mp_isend_zm4, mp_isend_bv, mp_isend_bm3, mp_isend_custom
 
GENERIC, public irecv mp_irecv_iv, mp_irecv_im2, mp_irecv_im3, mp_irecv_im4, mp_irecv_lv, mp_irecv_lm2, mp_irecv_lm3, mp_irecv_lm4, mp_irecv_rv, mp_irecv_rm2, mp_irecv_rm3, mp_irecv_rm4, mp_irecv_dv, mp_irecv_dm2, mp_irecv_dm3, mp_irecv_dm4, mp_irecv_cv, mp_irecv_cm2, mp_irecv_cm3, mp_irecv_cm4, mp_irecv_zv, mp_irecv_zm2, mp_irecv_zm3, mp_irecv_zm4, mp_irecv_bv, mp_irecv_bm3, mp_irecv_custom
 
procedure, non_overridable, pass, public probe (source, comm, tag)
 probes for an incoming message with any tag
 
procedure, non_overridable, pass, public sync (comm)
 synchronizes with a barrier a given group of mpi tasks
 
procedure, non_overridable, pass, public isync (comm, request)
 synchronizes with a barrier a given group of mpi tasks
 
procedure, non_overridable, pass, public compare (comm1, comm2)
 wrapper to MPI_Comm_compare
 
procedure, non_overridable, pass, public rank_compare (comm1, comm2, rank)
 wrapper to MPI_Group_translate_ranks
 
procedure, non_overridable, pass, public from_dup (comm1, comm2)
 wrapper to MPI_Comm_dup
 
procedure, non_overridable, pass, public mp_comm_free (comm)
 wrapper to MPI_Comm_free
 
GENERIC, public free (comm)
 wrapper to MPI_Comm_free
 
procedure, non_overridable, pass, public mp_comm_init (comm, owns_group)
 Initializes the communicator (mostly relevant for its derived classes)
 
GENERIC, public init (comm, owns_group)
 Initializes the communicator (mostly relevant for its derived classes)
 
procedure, non_overridable, pass, public get_size (numtask, comm)
 returns number of tasks for a given mpi communicator
 
procedure, non_overridable, pass, public get_rank (taskid, comm)
 returns task id for a given mpi communicator
 
procedure, non_overridable, pass, public get_ndims (comm)
 
procedure, non_overridable, pass, public is_source (comm)
 check whether the local process is the source process
 
GENERIC, public from_split mp_comm_split, mp_comm_split_direct
 
procedure, non_overridable, pass, public from_reordering (mp_comm, mp_new_comm, ranks_order)
 re-create the system default communicator with a different MPI rank order
 
procedure, non_overridable, pass, public mp_comm_assign (comm_new, comm_old)
 Implements a simple assignment function to overload the assignment operator.
 
GENERIC, public assignment (comm_new, comm_old)
 Implements a simple assignment function to overload the assignment operator.
 
GENERIC, public get_tag_ub (comm)
 
GENERIC, public get_host_rank (comm)
 
GENERIC, public get_io_rank (comm)
 
GENERIC, public get_wtime_is_global (comm)
 

Data Fields

integer, public mepos = -1
 
integer, public source = -1
 
integer, public num_pe = -1
 

Detailed Description

Definition at line 189 of file message_passing.F.

Member Function/Subroutine Documentation

◆ set_handle()

procedure, non_overridable, pass message_passing::mp_comm_type::set_handle ( class(mp_comm_type), intent(inout)  this,
integer, intent(in)  handle,
integer, intent(in), optional  ndims 
)
final

Definition at line 198 of file message_passing.F.

◆ get_handle()

procedure, non_overridable, pass message_passing::mp_comm_type::get_handle ( class(mp_comm_type), intent(in)  this)
final

Definition at line 199 of file message_passing.F.

◆ operator() [1/2]

GENERIC, public message_passing::mp_comm_type::operator ( class(mp_comm_type), intent(in)  comm1,
class(mp_comm_type), intent(in)  comm2 
)

Definition at line 203 of file message_passing.F.

◆ operator() [2/2]

GENERIC, public message_passing::mp_comm_type::operator ( class(mp_comm_type), intent(in)  comm1,
class(mp_comm_type), intent(in)  comm2 
)

Definition at line 204 of file message_passing.F.

◆ sendrecv()

GENERIC, public message_passing::mp_comm_type::sendrecv

Definition at line 215 of file message_passing.F.

◆ minloc()

GENERIC, public message_passing::mp_comm_type::minloc

Definition at line 226 of file message_passing.F.

◆ maxloc()

GENERIC, public message_passing::mp_comm_type::maxloc

Definition at line 231 of file message_passing.F.

◆ shift()

GENERIC, public message_passing::mp_comm_type::shift

Definition at line 238 of file message_passing.F.

◆ bcast()

GENERIC, public message_passing::mp_comm_type::bcast

Definition at line 257 of file message_passing.F.

◆ ibcast()

GENERIC, public message_passing::mp_comm_type::ibcast

Definition at line 276 of file message_passing.F.

◆ sum()

GENERIC, public message_passing::mp_comm_type::sum

Definition at line 292 of file message_passing.F.

◆ isum()

GENERIC, public message_passing::mp_comm_type::isum

Definition at line 306 of file message_passing.F.

Here is the call graph for this function:

◆ sum_partial()

GENERIC, public message_passing::mp_comm_type::sum_partial

Definition at line 313 of file message_passing.F.

◆ max()

GENERIC, public message_passing::mp_comm_type::max

Definition at line 324 of file message_passing.F.

◆ min()

GENERIC, public message_passing::mp_comm_type::min

Definition at line 336 of file message_passing.F.

◆ mp_sum_scatter_iv()

procedure, non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_iv ( integer(kind=int_4), dimension(:, :), intent(in), contiguous  msgout,
integer(kind=int_4), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ mp_sum_scatter_lv()

non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_lv ( integer(kind=int_8), dimension(:, :), intent(in), contiguous  msgout,
integer(kind=int_8), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ mp_sum_scatter_rv()

non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_rv ( real(kind=real_4), dimension(:, :), intent(in), contiguous  msgout,
real(kind=real_4), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ mp_sum_scatter_dv()

non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_dv ( real(kind=real_8), dimension(:, :), intent(in), contiguous  msgout,
real(kind=real_8), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ mp_sum_scatter_cv()

non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_cv ( complex(kind=real_4), dimension(:, :), intent(in), contiguous  msgout,
complex(kind=real_4), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ mp_sum_scatter_zv()

non_overridable, pass, public message_passing::mp_comm_type::mp_sum_scatter_zv ( complex(kind=real_8), dimension(:, :), intent(in), contiguous  msgout,
complex(kind=real_8), dimension(:), intent(out), contiguous  msgin,
integer, dimension(:), intent(in), contiguous  rcount,
class(mp_comm_type), intent(in)  comm 
)
final

Sums a vector and partitions the result among processes.

Parameters
[in]msgoutData to sum
[out]msginReceived portion of summed data
[in]rcountPartition sizes of the summed data for every process
[in]commMessage passing environment identifier

Definition at line 341 of file message_passing.F.

◆ sum_scatter()

GENERIC, public message_passing::mp_comm_type::sum_scatter

Definition at line 344 of file message_passing.F.

◆ prod()

GENERIC, public message_passing::mp_comm_type::prod

Definition at line 349 of file message_passing.F.

◆ gather()

GENERIC, public message_passing::mp_comm_type::gather

Definition at line 363 of file message_passing.F.

◆ gatherv()

GENERIC, public message_passing::mp_comm_type::gatherv

Definition at line 383 of file message_passing.F.

◆ igatherv()

GENERIC, public message_passing::mp_comm_type::igatherv

Definition at line 394 of file message_passing.F.

◆ allgather()

GENERIC, public message_passing::mp_comm_type::allgather

Definition at line 411 of file message_passing.F.

◆ allgatherv()

GENERIC, public message_passing::mp_comm_type::allgatherv

Definition at line 429 of file message_passing.F.

◆ iallgather()

GENERIC, public message_passing::mp_comm_type::iallgather

Definition at line 444 of file message_passing.F.

◆ iallgatherv()

GENERIC, public message_passing::mp_comm_type::iallgatherv

Definition at line 459 of file message_passing.F.

◆ scatter()

GENERIC, public message_passing::mp_comm_type::scatter

Definition at line 466 of file message_passing.F.

◆ iscatter()

GENERIC, public message_passing::mp_comm_type::iscatter

Definition at line 473 of file message_passing.F.

◆ iscatterv()

GENERIC, public message_passing::mp_comm_type::iscatterv

Definition at line 480 of file message_passing.F.

◆ alltoall()

GENERIC, public message_passing::mp_comm_type::alltoall

Definition at line 501 of file message_passing.F.

◆ send()

GENERIC, public message_passing::mp_comm_type::send

Definition at line 526 of file message_passing.F.

◆ recv()

GENERIC, public message_passing::mp_comm_type::recv

Definition at line 539 of file message_passing.F.

◆ isendrecv()

GENERIC, public message_passing::mp_comm_type::isendrecv

Definition at line 550 of file message_passing.F.

◆ isend()

GENERIC, public message_passing::mp_comm_type::isend

Definition at line 562 of file message_passing.F.

◆ irecv()

GENERIC, public message_passing::mp_comm_type::irecv

Definition at line 577 of file message_passing.F.

◆ probe()

procedure, non_overridable, pass, public message_passing::mp_comm_type::probe ( integer, intent(inout)  source,
class(mp_comm_type), intent(in)  comm,
integer, intent(out)  tag 
)
final

probes for an incoming message with any tag

Parameters
[in,out]sourcethe 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 returning MP_ANY_SOURCE if there is no incoming message
[in]commthe communicator
[out]tagthe tag of the incoming message
Author
Mandes

Definition at line 585 of file message_passing.F.

◆ sync()

procedure, non_overridable, pass, public message_passing::mp_comm_type::sync ( class(mp_comm_type), intent(in)  comm)
final

synchronizes with a barrier a given group of mpi tasks

Parameters
groupmpi communicator

Definition at line 587 of file message_passing.F.

◆ isync()

procedure, non_overridable, pass, public message_passing::mp_comm_type::isync ( class(mp_comm_type), intent(in)  comm,
type(mp_request_type), intent(out)  request 
)
final

synchronizes with a barrier a given group of mpi tasks

Parameters
commmpi communicator
request...

Definition at line 588 of file message_passing.F.

◆ compare()

procedure, non_overridable, pass, public message_passing::mp_comm_type::compare ( class(mp_comm_type), intent(in)  comm1,
class(mp_comm_type), intent(in)  comm2 
)
final

wrapper to MPI_Comm_compare

Parameters
comm1...
comm2...
res...

Definition at line 590 of file message_passing.F.

◆ rank_compare()

procedure, non_overridable, pass, public message_passing::mp_comm_type::rank_compare ( class(mp_comm_type), intent(in)  comm1,
class(mp_comm_type), intent(in)  comm2,
integer, dimension(:), intent(out), contiguous  rank 
)
final

wrapper to MPI_Group_translate_ranks

Parameters
comm1...
comm2...
rank...

Definition at line 591 of file message_passing.F.

◆ from_dup()

procedure, non_overridable, pass, public message_passing::mp_comm_type::from_dup ( class(mp_comm_type), intent(in)  comm1,
class(mp_comm_type), intent(out)  comm2 
)
final

wrapper to MPI_Comm_dup

Parameters
comm1...
comm2...

Definition at line 593 of file message_passing.F.

◆ mp_comm_free()

procedure, non_overridable, pass, public message_passing::mp_comm_type::mp_comm_free ( class(mp_comm_type), intent(inout)  comm)
final

wrapper to MPI_Comm_free

Parameters
comm...

Definition at line 594 of file message_passing.F.

◆ free()

GENERIC, public message_passing::mp_comm_type::free ( class(mp_comm_type), intent(inout)  comm)

wrapper to MPI_Comm_free

Parameters
comm...

Definition at line 595 of file message_passing.F.

◆ mp_comm_init()

procedure, non_overridable, pass, public message_passing::mp_comm_type::mp_comm_init ( class(mp_comm_type), intent(inout)  comm,
logical, intent(in), optional  owns_group 
)
final

Initializes the communicator (mostly relevant for its derived classes)

Parameters
comm...

Definition at line 597 of file message_passing.F.

◆ init()

GENERIC, public message_passing::mp_comm_type::init ( class(mp_comm_type), intent(inout)  comm,
logical, intent(in), optional  owns_group 
)

Initializes the communicator (mostly relevant for its derived classes)

Parameters
comm...

Definition at line 598 of file message_passing.F.

◆ get_size()

procedure, non_overridable, pass, public message_passing::mp_comm_type::get_size ( integer, intent(out)  numtask,
class(mp_comm_type), intent(in)  comm 
)
final

returns number of tasks for a given mpi communicator

Parameters
numtask...
commmpi communicator

Definition at line 600 of file message_passing.F.

◆ get_rank()

procedure, non_overridable, pass, public message_passing::mp_comm_type::get_rank ( integer, intent(out)  taskid,
class(mp_comm_type), intent(in)  comm 
)
final

returns task id for a given mpi communicator

Parameters
taskidThe ID of the communicator
commmpi communicator

Definition at line 601 of file message_passing.F.

◆ get_ndims()

procedure, non_overridable, pass, public message_passing::mp_comm_type::get_ndims ( class(mp_comm_type), intent(in)  comm)
final

Definition at line 602 of file message_passing.F.

◆ is_source()

procedure, non_overridable, pass, public message_passing::mp_comm_type::is_source ( class(mp_comm_type), intent(in)  comm)
final

check whether the local process is the source process

Parameters
para_env...
Returns
...

Definition at line 603 of file message_passing.F.

◆ from_split()

GENERIC, public message_passing::mp_comm_type::from_split

Definition at line 607 of file message_passing.F.

◆ from_reordering()

procedure, non_overridable, pass, public message_passing::mp_comm_type::from_reordering ( class(mp_comm_type), intent(in)  mp_comm,
class(mp_comm_type), intent(out)  mp_new_comm,
integer, dimension(:), intent(in), contiguous  ranks_order 
)
final

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

Parameters
mp_comm[output] : handle of the default communicator
mp_new_comm...
ranks_order...
History
1.2012 created [ Christiane Pousa ]
Note
should only be called once, at very beginning of CP2K run

Definition at line 608 of file message_passing.F.

◆ mp_comm_assign()

procedure, non_overridable, pass, public message_passing::mp_comm_type::mp_comm_assign ( class(mp_comm_type), intent(out)  comm_new,
class(mp_comm_type), intent(in)  comm_old 
)
final

Implements a simple assignment function to overload the assignment operator.

Parameters
comm_newcommunicator on the r.h.s. of the assignment operator
comm_oldcommunicator on the l.h.s. of the assignment operator

Definition at line 609 of file message_passing.F.

◆ assignment()

GENERIC, public message_passing::mp_comm_type::assignment ( class(mp_comm_type), intent(out)  comm_new,
class(mp_comm_type), intent(in)  comm_old 
)

Implements a simple assignment function to overload the assignment operator.

Parameters
comm_newcommunicator on the r.h.s. of the assignment operator
comm_oldcommunicator on the l.h.s. of the assignment operator

Definition at line 610 of file message_passing.F.

◆ get_tag_ub()

GENERIC, public message_passing::mp_comm_type::get_tag_ub ( class(mp_comm_type), intent(in)  comm)

Definition at line 614 of file message_passing.F.

◆ get_host_rank()

GENERIC, public message_passing::mp_comm_type::get_host_rank ( class(mp_comm_type), intent(in)  comm)

Definition at line 616 of file message_passing.F.

◆ get_io_rank()

GENERIC, public message_passing::mp_comm_type::get_io_rank ( class(mp_comm_type), intent(in)  comm)

Definition at line 618 of file message_passing.F.

◆ get_wtime_is_global()

GENERIC, public message_passing::mp_comm_type::get_wtime_is_global ( class(mp_comm_type), intent(in)  comm)

Definition at line 620 of file message_passing.F.

Field Documentation

◆ mepos

integer, public message_passing::mp_comm_type::mepos = -1

Definition at line 195 of file message_passing.F.

◆ source

integer, public message_passing::mp_comm_type::source = -1

Definition at line 195 of file message_passing.F.

◆ num_pe

integer, public message_passing::mp_comm_type::num_pe = -1

Definition at line 195 of file message_passing.F.


The documentation for this type was generated from the following file: