CP2K 2.4 (Revision 12889)
Classes | Functions | Variables

message_passing Namespace Reference

Interface to the message passing library MPI. More...

Classes

interface  mp_environ
interface  mp_waitall
interface  mp_minloc
interface  mp_maxloc
interface  mp_shift
interface  mp_bcast
interface  mp_sum
interface  mp_max
interface  mp_min
interface  mp_gather
interface  mp_gatherv
interface  mp_allgather
 todo: move allgatherv to a separate declaration More...
interface  mp_scatter
interface  mp_sum_scatter
interface  mp_alltoall
interface  mp_send
interface  mp_recv
interface  mp_sendrecv
interface  mp_isendrecv
interface  mp_isend
interface  mp_irecv
interface  mp_window_create
interface  mp_rma_get
interface  mp_rma_put
interface  mp_allocate
interface  mp_deallocate
struct  mp_window_type
struct  mp_perf_type
struct  mp_perf_env_type
struct  mp_perf_env_p_type

Functions

subroutine, public mp_world_init (mp_comm)
 initializes the system default communicator
subroutine, public mp_reordering (mp_comm, mp_new_comm, ranks_order)
 re-create the system default communicator with a different MPI rank order
subroutine, public mp_world_finalize ()
 finalizes the system default communicator
subroutine, public 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
subroutine, public mp_perf_env_create (perf_env)
subroutine, public mp_perf_env_release (perf_env)
subroutine, public mp_perf_env_retain (perf_env)
subroutine, public mp_perf_env_describe (perf_env, iw)
subroutine, public rm_mp_perf_env ()
TYPE(mp_perf_env_type),
pointer, public 
get_mp_perf_env ()
subroutine, public describe_mp_perf_env (scr)
subroutine add_perf (perf_id, count, time, msg_size)
 adds the performance informations of one call
subroutine, public mp_abort (message)
 globally stops all tasks, can optionally print a message. this is intended to be low level, most of CP2K should rather use cp_error_handling
subroutine mp_stop (ierr, prg_code)
 stops *after an mpi error* translating the error code
subroutine, public mp_sync (group)
 synchronizes with a barrier a given group of mpi tasks
subroutine mp_environ_l (numtask, taskid, groupid)
 returns number of tasks and task id for a given mpi group simple and cartesian version
subroutine mp_environ_c (numtask, dims, task_coor, groupid)
subroutine mp_environ_c2 (comm, ndims, dims, task_coor, periods)
subroutine, public mp_cart_create (comm_old, ndims, dims, pos, comm_cart)
subroutine, public mp_cart_coords (comm, rank, coords)
subroutine, public mp_cart_shift (comm, dir, disp, source, dest)
subroutine, public mp_comm_compare (comm1, comm2, RESULT)
subroutine, public mp_cart_sub (comm, rdim, sub_comm)
subroutine, public mp_comm_free (comm)
subroutine, public mp_comm_dup (comm1, comm2)
subroutine, public mp_rank_compare (comm1, comm2, rank)
subroutine, public mp_dims_create (nodes, dims)
subroutine, public mp_cart_rank (group, pos, rank)
subroutine, public mp_wait (request)
 waits for completion of the given request
subroutine mp_waitall_1 (requests)
 waits for completion of the given requests
subroutine mp_waitall_2 (requests)
 waits for completion of the given requests
subroutine, public mp_waitany (requests, completed)
 waits for completion of any of the given requests
subroutine, public 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
subroutine, public mp_comm_split (comm, sub_comm, ngroups, group_distribution, subgroup_min_size, n_subgroups, group_partition)
 splits the given communicator in group in subgroups trying to organize them in a way that the communication within each subgroup is efficent (but not necessarily the comunication between subgroups)
subroutine, public mp_proc_name (host_name)
 Extract the processor name of a MPI process.
subroutine, public mp_group (group_list, group_size, base_group, groupid)
subroutine, public mp_window_destroy (window)
 Destroys an MPI RMA window.
subroutine, public mp_window_lock (window, remote, shared, nocheck)
 Initiates an RMA access.
subroutine, public mp_window_unlock (window, remote)
 Terminates an RMA access.
subroutine, public mp_window_fence (window, nothing_stored, no_put_follows, no_pre_access, no_post_access)
 Creates an RMA window epoch.
subroutine mp_bcast_b (msg, source, gid)
subroutine mp_bcast_bv (msg, source, gid)
subroutine mp_bcast_av (msg, source, gid)
subroutine mp_bcast_am (msg, source, gid)
subroutine mp_minloc_dv (msg, gid)
 Finds the location of the minimal element in a vector.
subroutine mp_minloc_iv (msg, gid)
 Finds the location of the minimal element in a vector.
subroutine mp_minloc_lv (msg, gid)
 Finds the location of the minimal element in a vector.
subroutine mp_minloc_rv (msg, gid)
 Finds the location of the minimal element in a vector.
subroutine mp_maxloc_dv (msg, gid)
 Finds the location of the maximal element in a vector.
subroutine mp_maxloc_iv (msg, gid)
 Finds the location of the maximal element in a vector.
subroutine mp_maxloc_lv (msg, gid)
 Finds the location of the maximal element in a vector.
subroutine mp_maxloc_rv (msg, gid)
 Finds the location of the maximal element in a vector.
subroutine mp_bcast_z1_t3e (msg, source, gid)
subroutine mp_bcast_zv_t3e (msg, source, gid)

Variables

LOGICAL, parameter, public cp2k_is_parallel = .FALSE.
INTEGER, parameter, public mp_any_tag = -1
INTEGER, parameter, public mp_any_source = -2
INTEGER, parameter, public mp_comm_null = -3
INTEGER, parameter, public mp_request_null = -4
CHARACTER(len=*), parameter,
private 
moduleN = 'message_passing'
INTEGER, parameter, public MPI_COMM_SELF = 0
INTEGER, parameter, public MPI_COMM_WORLD = 0
INTEGER, parameter, public MPI_COMM_NULL = -1
INTEGER, parameter MAX_PERF = 20
INTEGER, parameter max_stack_size = 10
INTEGER stack_pointer = 0
TYPE(mp_perf_env_p_type),
dimension(max_stack_size),
target 
mp_perf_stack
CHARACTER(LEN=20), dimension(max_perf),
parameter 
sname = (/"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_Window_Lock ", "MP_Window_Misc "/)
REAL(KIND=dp) t_start
REAL(KIND=dp) t_end
INTEGER, parameter intlen = BIT_SIZE ( 0 ) / 8
INTEGER, parameter reallen = 8
INTEGER, parameter loglen = BIT_SIZE ( 0 ) / 8
INTEGER, parameter charlen = 1
INTEGER, save, private last_mp_perf_env_id = 0

Detailed Description

Interface to the message passing library MPI.

History
JGH (02-Jan-2001): New error handling Performance tools JGH (14-Jan-2001): New routines mp_comm_compare, mp_cart_coords, mp_rank_compare, mp_alltoall JGH (06-Feb-2001): New routines mp_comm_free JGH (22-Mar-2001): New routines mp_comm_dup fawzi (04-NOV-2004): storable performance info (for f77 interface) Wrapper routine for mpi_gatherv added (22.12.2005,MK) JGH (13-Feb-2006): Flexibel precision JGH (15-Feb-2006): single precision mp_alltoall
Author:
JGH

Function Documentation

subroutine,public message_passing::add_mp_perf_env ( TYPE(mp_perf_env_type),optional,pointer  perf_env)

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

Parameters:
mp_commthe mpi communicator
scroutput unit
Note:
can be used to measure performance of a sub-part of a program. timings measured here will not show up in the outer start/stops Doesn't need a fresh communicator
History
2.2004 created [Joost VandeVondele]

Definition at line 571 of file message_passing.f90.

References max_stack_size, mp_abort(), mp_perf_env_create(), mp_perf_env_retain(), mp_perf_stack, and stack_pointer.

Referenced by environment::cp2k_init(), f77_interface::f_env_add_defaults(), and f77_interface::init_cp2k().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine message_passing::add_perf ( INTEGER,intent(in)  perf_id,
INTEGER,intent(in),optional  count,
REAL(KIND=dp),intent(in),optional  time,
INTEGER,intent(in),optional  msg_size 
) [private]

adds the performance informations of one call

Parameters:
errorvariable to control error logging, stopping,... see module cp_error_handling
Author:
fawzi

Definition at line 733 of file message_passing.f90.

References mp_perf_stack, and stack_pointer.

Referenced by mp_allocate_r(), mp_allocate_z(), mp_alltoall_r(), mp_alltoall_r11v(), mp_alltoall_r22(), mp_alltoall_r22v(), mp_alltoall_r33(), mp_alltoall_r34(), mp_alltoall_r44(), mp_alltoall_r45(), mp_alltoall_r54(), mp_alltoall_z(), mp_alltoall_z11v(), mp_alltoall_z22(), mp_alltoall_z22v(), mp_alltoall_z33(), mp_alltoall_z34(), mp_alltoall_z44(), mp_alltoall_z45(), mp_alltoall_z54(), mp_bcast_am(), mp_bcast_av(), mp_bcast_b(), mp_bcast_bv(), mp_bcast_r(), mp_bcast_r3(), mp_bcast_rm(), mp_bcast_rv(), mp_bcast_z(), mp_bcast_z1_t3e(), mp_bcast_z3(), mp_bcast_zm(), mp_bcast_zv(), mp_bcast_zv_t3e(), mp_cart_create(), mp_comm_split(), mp_comm_split_direct(), mp_deallocate_r(), mp_deallocate_z(), mp_gather_r(), mp_gather_rm(), mp_gather_rv(), mp_gather_z(), mp_gather_zm(), mp_gather_zv(), mp_gatherv_rv(), mp_gatherv_zv(), mp_group(), mp_irecv_rm2(), mp_irecv_rm3(), mp_irecv_rv(), mp_irecv_zm2(), mp_irecv_zm3(), mp_irecv_zv(), mp_isend_rm2(), mp_isend_rm3(), mp_isend_rv(), mp_isend_zm2(), mp_isend_zm3(), mp_isend_zv(), mp_isendrecv_rm2(), mp_isendrecv_rv(), mp_isendrecv_zm2(), mp_isendrecv_zv(), mp_max_r(), mp_max_rv(), mp_max_z(), mp_max_zv(), mp_maxloc_dv(), mp_maxloc_iv(), mp_maxloc_lv(), mp_maxloc_rv(), mp_min_r(), mp_min_rv(), mp_min_z(), mp_min_zv(), mp_minloc_dv(), mp_minloc_iv(), mp_minloc_lv(), mp_minloc_rv(), mp_recv_r(), mp_recv_rv(), mp_recv_z(), mp_recv_zv(), mp_reordering(), mp_rma_get_r(), mp_rma_get_z(), mp_rma_put_r(), mp_rma_put_z(), mp_scatter_rv(), mp_scatter_zv(), mp_send_r(), mp_send_rv(), mp_send_z(), mp_send_zv(), mp_sendrecv_rm2(), mp_sendrecv_rm3(), mp_sendrecv_rv(), mp_sendrecv_zm2(), mp_sendrecv_zm3(), mp_sendrecv_zv(), mp_shift_r(), mp_shift_rm(), mp_shift_z(), mp_shift_zm(), mp_sum_r(), mp_sum_rm(), mp_sum_rm3(), mp_sum_rm4(), mp_sum_rm5(), mp_sum_rm6(), mp_sum_root_rm(), mp_sum_root_rv(), mp_sum_root_zm(), mp_sum_root_zv(), mp_sum_rv(), mp_sum_scatter_rv(), mp_sum_scatter_zv(), mp_sum_z(), mp_sum_zm(), mp_sum_zm3(), mp_sum_zm4(), mp_sum_zm5(), mp_sum_zm6(), mp_sum_zv(), mp_sync(), mp_wait(), mp_waitall_1(), mp_waitall_2(), mp_waitany(), mp_win_create_r(), mp_win_create_z(), mp_window_destroy(), mp_window_fence(), mp_window_lock(), and mp_window_unlock().

subroutine,public message_passing::describe_mp_perf_env ( INTEGER,intent(in)  scr)

Definition at line 718 of file message_passing.f90.

References get_mp_perf_env(), and mp_perf_env_describe().

Here is the call graph for this function:

TYPE(mp_perf_env_type),pointer,public message_passing::get_mp_perf_env ( )

Definition at line 708 of file message_passing.f90.

References mp_abort(), mp_perf_stack, and stack_pointer.

Referenced by f77_interface::create_force_env(), describe_mp_perf_env(), and f77_interface::f_env_rm_defaults().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_abort ( CHARACTER(LEN=*),intent(in),optional  message)

globally stops all tasks, can optionally print a message. this is intended to be low level, most of CP2K should rather use cp_error_handling

Definition at line 760 of file message_passing.f90.

References machine::default_output_unit, and MPI_COMM_WORLD.

Referenced by add_mp_perf_env(), cp_log_handling::cp_add_default_logger(), cp_error_handling::cp_error_common_stop(), cp_error_handling::cp_error_handle_error(), cp_log_handling::cp_get_default_logger(), cp_iter_types::cp_iteration_info_copy_iter(), cp_iter_types::cp_iteration_info_create(), cp_iter_types::cp_iteration_info_release(), cp_iter_types::cp_iteration_info_retain(), cp_log_handling::cp_logger_create(), cp_log_handling::cp_logger_generate_filename(), cp_log_handling::cp_logger_get_default_unit_nr(), cp_log_handling::cp_logger_get_log_level(), cp_log_handling::cp_logger_log(), cp_log_handling::cp_logger_release(), cp_log_handling::cp_logger_retain(), cp_log_handling::cp_logger_set(), cp_log_handling::cp_logger_set_log_level(), cp_log_handling::cp_logger_would_log(), cp_log_handling::cp_rm_default_logger(), get_mp_perf_env(), mc_ensembles::mc_run_ensemble(), mp_comm_split(), mp_irecv_rm2(), mp_irecv_rm3(), mp_irecv_rv(), mp_irecv_zm2(), mp_irecv_zm3(), mp_irecv_zv(), mp_max_rv(), mp_max_zv(), mp_maxloc_dv(), mp_maxloc_iv(), mp_maxloc_lv(), mp_maxloc_rv(), mp_min_rv(), mp_min_zv(), mp_minloc_dv(), mp_minloc_iv(), mp_minloc_lv(), mp_minloc_rv(), mp_perf_env_create(), mp_perf_env_describe(), mp_perf_env_release(), mp_perf_env_retain(), mp_rank_compare(), mp_stop(), mp_sum_rm(), mp_sum_rm3(), mp_sum_rm4(), mp_sum_rm5(), mp_sum_rm6(), mp_sum_root_rm(), mp_sum_root_rv(), mp_sum_root_zm(), mp_sum_root_zv(), mp_sum_rv(), mp_sum_zm(), mp_sum_zm3(), mp_sum_zm4(), mp_sum_zm5(), mp_sum_zm6(), mp_sum_zv(), cp_log_handling::my_cp_para_env_release(), rm_mp_perf_env(), and termination::stop_program().

subroutine message_passing::mp_bcast_am ( CHARACTER(LEN=*),dimension(:)  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 1936 of file message_passing.f90.

References add_perf(), charlen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_bcast_av ( CHARACTER(LEN=*)  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 1890 of file message_passing.f90.

References add_perf(), charlen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_bcast_b ( LOGICAL  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 1838 of file message_passing.f90.

References add_perf(), loglen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_bcast_bv ( LOGICAL,dimension(:)  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 1864 of file message_passing.f90.

References add_perf(), loglen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_bcast_z1_t3e ( CHARACTER(LEN=*)  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 2371 of file message_passing.f90.

References add_perf(), charlen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_bcast_zv_t3e ( CHARACTER(LEN=*),dimension(:)  msg,
INTEGER  source,
INTEGER  gid 
) [private]

Definition at line 2415 of file message_passing.f90.

References add_perf(), charlen, dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_cart_coords ( INTEGER,intent(in)  comm,
INTEGER,intent(in)  rank,
INTEGER,dimension(:),intent(out)  coords 
)

Definition at line 1004 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by fft_tools::get_fft_scratch(), and pw_grids::pw_grid_distribute().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_cart_create ( INTEGER,intent(in)  comm_old,
INTEGER,intent(in)  ndims,
INTEGER,dimension( : ),intent(inout)  dims,
INTEGER,dimension( : ),intent(out)  pos,
INTEGER,intent(out)  comm_cart 
)

Definition at line 948 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), MPI_COMM_NULL, t_end, t_start, and timings::timeset().

Referenced by pw_grids::pw_grid_distribute().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_cart_rank ( INTEGER,intent(in)  group,
INTEGER,dimension(:),intent(in)  pos,
INTEGER,intent(out)  rank 
)

Definition at line 1264 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by fft_tools::fft3d_pb(), fft_tools::get_fft_scratch(), qmmm_pw_grid::pw_grid_create_copy_no_pbc(), and pw_grids::pw_grid_distribute().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_cart_shift ( INTEGER,intent(in)  comm,
INTEGER,intent(in)  dir,
INTEGER,intent(in)  disp,
INTEGER,intent(out)  source,
INTEGER,intent(out)  dest 
)

Definition at line 1034 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_cart_sub ( INTEGER,intent(in)  comm,
LOGICAL,dimension(:),intent(in)  rdim,
INTEGER,intent(out)  sub_comm 
)

Definition at line 1104 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by fft_tools::get_fft_scratch().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_comm_compare ( INTEGER,intent(in)  comm1,
INTEGER,intent(in)  comm2,
INTEGER,intent(out)  RESULT 
)

Definition at line 1064 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by fft_tools::fft3d_ps(), and pw_grids::pw_grid_setup_internal().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_comm_dup ( INTEGER,intent(in)  comm1,
INTEGER,intent(out)  comm2 
)

Definition at line 1159 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by cp_para_env::cp_para_env_duplicate(), cp2k_runs::farming_run(), mp_comm_split(), mp_comm_split_direct(), pw_grids::pw_grid_create(), and realspace_grid_types::rs_grid_create_descriptor().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_comm_free ( INTEGER,intent(in)  comm)

Definition at line 1133 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by fft_tools::deallocate_fft_scratch_type(), optimize_basis::driver_para_opt_basis(), cp2k_runs::farming_run(), pw_grids::pw_grid_release(), and realspace_grid_types::rs_grid_release_descriptor().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_comm_split ( INTEGER,intent(in)  comm,
INTEGER,intent(out)  sub_comm,
INTEGER,intent(out)  ngroups,
INTEGER,dimension(:),pointer  group_distribution,
INTEGER,intent(in),optional  subgroup_min_size,
INTEGER,intent(in),optional  n_subgroups,
INTEGER,dimension(:),optional,pointer  group_partition 
)

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

Parameters:
commthe mpi communicator that you want to split
sub_commthe communicator for the subgroup (created, needs to be freed later)
ngroupsactual number of groups
group_distributioninput : allocated with array with the nprocs entries (0 .. nprocs-1)
outputthe number of the group the proc belongs to (0..ngroups-1)
subgroup_min_sizethe minimum size of the subgroup
n_subgroupsthe number of subgroups wanted
group_partitionn_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)
Note:
at least one of subgroup_min_size and n_subgroups is needed, the other default to the value needed to use most processors. if less cpus are present than needed for subgroup min size, n_subgroups, just one comm is created that contains all cpus
History
10.2003 created [fawzi] 02.2004 modified [Joost VandeVondele]
Author:
Fawzi Mohamed

Definition at line 1509 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_abort(), mp_comm_dup(), mp_stop(), t_end, t_start, and timings::timeset().

Referenced by cp2k_runs::farming_run(), and mixed_main::mixed_create_force_env().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_comm_split_direct ( INTEGER,intent(in)  comm,
INTEGER,intent(out)  sub_comm,
INTEGER,intent(in)  color,
INTEGER,intent(in),optional  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

Author:
Joost VandeVondele

Definition at line 1455 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_comm_dup(), mp_stop(), t_end, t_start, and timings::timeset().

Referenced by rpa_ri_gpw::calc_scaling_factor(), rpa_ri_gpw::create_integ_mat(), mp2::mp2_direct_energy(), mp2_gpw::mp2_gpw_compute(), and mp2_gpw::mp2_gpw_main().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_dims_create ( INTEGER,intent(in)  nodes,
INTEGER,dimension(:),intent(inout)  dims 
)

Definition at line 1234 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Referenced by pw_grids::pw_grid_distribute().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine message_passing::mp_environ_c ( INTEGER,intent(out)  numtask,
INTEGER,dimension( 2 ),intent(out)  dims,
INTEGER,dimension( 2 ),intent(out)  task_coor,
INTEGER,intent(in)  groupid 
) [private]

Definition at line 883 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_environ_c2 ( INTEGER,intent(in)  comm,
INTEGER,intent(in)  ndims,
INTEGER,dimension( ndims ),intent(out)  dims,
INTEGER,dimension( ndims ),intent(out)  task_coor,
LOGICAL,dimension( ndims ),intent(out)  periods 
) [private]

Definition at line 916 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_environ_l ( INTEGER,intent(out)  numtask,
INTEGER,intent(out)  taskid,
INTEGER,intent(in)  groupid 
) [private]

returns number of tasks and task id for a given mpi group simple and cartesian version

Parameters:
groupidmpi communicator
Note:
..mp_world_setup is gone, use mp_environ instead (i.e. give a groupid explicitly)

Definition at line 853 of file message_passing.f90.

References mp_stop(), and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_group ( INTEGER,dimension( : ),intent(in)  group_list,
INTEGER,intent(in)  group_size,
INTEGER,intent(in)  base_group,
INTEGER,intent(out)  groupid 
)

Definition at line 1634 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_maxloc_dv ( REAL(kind=real_8),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2194 of file message_passing.f90.

References add_perf(), kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), kinds::real_8, kinds::real_8_size, t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_maxloc_iv ( INTEGER(KIND=int_4),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2239 of file message_passing.f90.

References add_perf(), kinds::int_4, kinds::int_4_size, kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_maxloc_lv ( INTEGER(KIND=int_8),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2284 of file message_passing.f90.

References add_perf(), kinds::int_8, kinds::int_8_size, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_maxloc_rv ( REAL(kind=real_4),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2329 of file message_passing.f90.

References add_perf(), kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), dbcsr_kinds::real_4, kinds::real_4_size, t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_minloc_dv ( REAL(kind=real_8),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2008 of file message_passing.f90.

References add_perf(), kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), kinds::real_8, kinds::real_8_size, t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_minloc_iv ( INTEGER(KIND=int_4),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2054 of file message_passing.f90.

References add_perf(), kinds::int_4, kinds::int_4_size, kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_minloc_lv ( INTEGER(KIND=int_8),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2101 of file message_passing.f90.

References add_perf(), kinds::int_8, kinds::int_8_size, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_minloc_rv ( REAL(kind=real_4),dimension( : ),intent(inout)  msg,
INTEGER,intent(in)  gid 
) [private]

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!
Parameters:
[in,out]msgFind location of maximum element among these data (input).
[in]gidMessage passing environment identifier

Definition at line 2147 of file message_passing.f90.

References add_perf(), kinds::int_8, dbcsr_machine::m_walltime(), mp_abort(), mp_stop(), dbcsr_kinds::real_4, kinds::real_4_size, t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_perf_env_create ( TYPE(mp_perf_env_type),optional,pointer  perf_env)

Definition at line 590 of file message_passing.f90.

References last_mp_perf_env_id, MAX_PERF, mp_abort(), and sname.

Referenced by add_mp_perf_env().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_perf_env_describe ( TYPE(mp_perf_env_type),pointer  perf_env,
INTEGER,intent(in)  iw 
)

Definition at line 650 of file message_passing.f90.

References MAX_PERF, and mp_abort().

Referenced by describe_mp_perf_env().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_perf_env_release ( TYPE(mp_perf_env_type),pointer  perf_env)

Definition at line 614 of file message_passing.f90.

References mp_abort().

Referenced by f77_interface::f_env_dealloc(), and rm_mp_perf_env().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_perf_env_retain ( TYPE(mp_perf_env_type),pointer  perf_env)

Definition at line 636 of file message_passing.f90.

References mp_abort().

Referenced by add_mp_perf_env(), and f77_interface::f_env_create().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_proc_name ( CHARACTER(LEN=default_string_length)  host_name)

Extract the processor name of a MPI process.

Parameters:
[out]msgThe MPI process host name
Author:
Christiane Ribeiro Pousa
  • 2011-11-23 [UB] Copied from old ma_message_passing and correctly set string length.

Definition at line 1614 of file message_passing.f90.

References kinds::default_string_length, and mp_stop().

Referenced by machine_architecture::ma_get_nmachines().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_rank_compare ( INTEGER,intent(in)  comm1,
INTEGER,intent(in)  comm2,
INTEGER,dimension(:),intent(out)  rank 
)

Definition at line 1188 of file message_passing.f90.

References mp_abort(), mp_stop(), and timings::timeset().

Referenced by fft_tools::fft3d_ps().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_reordering ( INTEGER,intent(in)  mp_comm,
INTEGER,intent(out)  mp_new_comm,
INTEGER,dimension(:),pointer  ranks_order 
)

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

Parameters:
mp_comm[output] : handle of the default communicator
Note:
should only be called once, st very begining of CP2K run
History
1.2012 created [ Christiane Pousa ]

Definition at line 505 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_stop ( INTEGER,intent(in)  ierr,
CHARACTER(LEN=*)  prg_code 
) [private]

stops *after an mpi error* translating the error code

Parameters:
ierran error code * returned by an mpi call *
Note:
this function is private to message_passing.F

Definition at line 792 of file message_passing.f90.

References mp_abort().

Referenced by mp_allgather_r(), mp_allgather_r12(), mp_allgather_r23(), mp_allgather_r34(), mp_allgather_z(), mp_allgather_z12(), mp_allgather_z23(), mp_allgather_z34(), mp_allgatherv_rv(), mp_allgatherv_zv(), mp_allocate_r(), mp_allocate_z(), mp_alltoall_r(), mp_alltoall_r11v(), mp_alltoall_r22(), mp_alltoall_r22v(), mp_alltoall_r33(), mp_alltoall_r34(), mp_alltoall_r44(), mp_alltoall_r45(), mp_alltoall_r54(), mp_alltoall_z(), mp_alltoall_z11v(), mp_alltoall_z22(), mp_alltoall_z22v(), mp_alltoall_z33(), mp_alltoall_z34(), mp_alltoall_z44(), mp_alltoall_z45(), mp_alltoall_z54(), mp_bcast_am(), mp_bcast_av(), mp_bcast_b(), mp_bcast_bv(), mp_bcast_r(), mp_bcast_r3(), mp_bcast_rm(), mp_bcast_rv(), mp_bcast_z(), mp_bcast_z1_t3e(), mp_bcast_z3(), mp_bcast_zm(), mp_bcast_zv(), mp_bcast_zv_t3e(), mp_cart_coords(), mp_cart_create(), mp_cart_rank(), mp_cart_shift(), mp_cart_sub(), mp_comm_compare(), mp_comm_dup(), mp_comm_free(), mp_comm_split(), mp_comm_split_direct(), mp_deallocate_r(), mp_deallocate_z(), mp_dims_create(), mp_environ_c(), mp_environ_c2(), mp_environ_l(), mp_gather_r(), mp_gather_rm(), mp_gather_rv(), mp_gather_z(), mp_gather_zm(), mp_gather_zv(), mp_gatherv_rv(), mp_gatherv_zv(), mp_group(), mp_irecv_rm2(), mp_irecv_rm3(), mp_irecv_rv(), mp_irecv_zm2(), mp_irecv_zm3(), mp_irecv_zv(), mp_isend_rm2(), mp_isend_rm3(), mp_isend_rv(), mp_isend_zm2(), mp_isend_zm3(), mp_isend_zv(), mp_isendrecv_rm2(), mp_isendrecv_rv(), mp_isendrecv_zm2(), mp_isendrecv_zv(), mp_max_r(), mp_max_rv(), mp_max_z(), mp_max_zv(), mp_maxloc_dv(), mp_maxloc_iv(), mp_maxloc_lv(), mp_maxloc_rv(), mp_min_r(), mp_min_rv(), mp_min_z(), mp_min_zv(), mp_minloc_dv(), mp_minloc_iv(), mp_minloc_lv(), mp_minloc_rv(), mp_proc_name(), mp_rank_compare(), mp_recv_r(), mp_recv_rv(), mp_recv_z(), mp_recv_zv(), mp_reordering(), mp_rma_get_r(), mp_rma_get_z(), mp_rma_put_r(), mp_rma_put_z(), mp_scatter_rv(), mp_scatter_zv(), mp_send_r(), mp_send_rv(), mp_send_z(), mp_send_zv(), mp_sendrecv_rm2(), mp_sendrecv_rm3(), mp_sendrecv_rv(), mp_sendrecv_zm2(), mp_sendrecv_zm3(), mp_sendrecv_zv(), mp_shift_r(), mp_shift_rm(), mp_shift_z(), mp_shift_zm(), mp_sum_r(), mp_sum_rm(), mp_sum_rm3(), mp_sum_rm4(), mp_sum_rm5(), mp_sum_rm6(), mp_sum_root_rm(), mp_sum_root_rv(), mp_sum_root_zm(), mp_sum_root_zv(), mp_sum_rv(), mp_sum_scatter_rv(), mp_sum_scatter_zv(), mp_sum_z(), mp_sum_zm(), mp_sum_zm3(), mp_sum_zm4(), mp_sum_zm5(), mp_sum_zm6(), mp_sum_zv(), mp_sync(), mp_wait(), mp_waitall_1(), mp_waitall_2(), mp_waitany(), mp_win_create_r(), mp_win_create_z(), mp_window_destroy(), mp_window_fence(), mp_window_lock(), mp_window_unlock(), mp_world_finalize(), and mp_world_init().

Here is the call graph for this function:

subroutine,public message_passing::mp_sync ( INTEGER,intent(in)  group)

synchronizes with a barrier a given group of mpi tasks

Parameters:
groupmpi communicator

Definition at line 820 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Referenced by xas_tp_scf::cls_prepare_states(), cp2k_runs::cp2k_run(), cp2k_runs::farming_run(), scp_density_methods::integrate_rhoscp_vrspace(), realspace_grid_types::rs_grid_create_descriptor(), fft_tools::sparse_alltoall(), and xas_tp_scf::xas_do_tp_scf().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_wait ( INTEGER,intent(inout)  request)

waits for completion of the given request

Note:
see isendrecv
History
08.2003 created [f&j]
Author:
joost & fawzi

Definition at line 1300 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Referenced by rpa_ri_gpw::create_integ_mat().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine message_passing::mp_waitall_1 ( INTEGER,dimension(:),intent(inout)  requests) [private]

waits for completion of the given requests

Note:
see isendrecv
History
08.2003 created [f&j]
Author:
joost & fawzi

Definition at line 1339 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine message_passing::mp_waitall_2 ( INTEGER,dimension(:, :),intent(inout)  requests) [private]

waits for completion of the given requests

Note:
see isendrecv
History
08.2003 created [f&j]
Author:
joost & fawzi

Definition at line 1379 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_waitany ( INTEGER,dimension(:),intent(inout)  requests,
INTEGER,intent(out)  completed 
)

waits for completion of any of the given requests

History
09.2008 created
Author:
Iain Bethune (c) The Numerical Algorithms Group (NAG) Ltd, 2008 on behalf of the HECToR project

Definition at line 1417 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Referenced by realspace_grid_types::rs_pw_transfer_distributed().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_window_destroy ( TYPE(mp_window_type),intent(inout)  window)

Destroys an MPI RMA window.

Author:
UB
Parameters:
[in]windowwindow to free and destroy

Definition at line 1679 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_window_fence ( TYPE(mp_window_type),intent(inout)  window,
LOGICAL,intent(in),optional  nothing_stored,
LOGICAL,intent(in),optional  no_put_follows,
LOGICAL,intent(in),optional  no_pre_access,
LOGICAL,intent(in),optional  no_post_access 
)

Creates an RMA window epoch.

Author:
UB
Parameters:
[in]windowRMA access window
[in]nothing_stored(optional) asserts that there were no local window updates since last sync (default is .FALSE.)
[in]no_put_follows(optional) asserts that nobody will put or accumulate data in local data of window until next fence (default is .FALSE.)
[in]no_pre_access(optional) asserts that no RMA access calls were made. All procesess must specify the same flag (default is .FALSE.)
[in]no_post_access(optional) asserts that no RMA access will be issued. All processess must specify the same flag (default is .FALSE.)

Definition at line 1793 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_window_lock ( TYPE(mp_window_type),intent(inout)  window,
INTEGER,intent(in)  remote,
LOGICAL,intent(in),optional  shared,
LOGICAL,intent(in),optional  nocheck 
)

Initiates an RMA access.

Author:
UB
Parameters:
windowRMA access window
[in]remoteprocess to which access is initiated (target)
[in]shared(optional) access is shared (default is exclusive)
[in]nocheck(optional) don't check for others' locks (default is to be careful and check)

Definition at line 1713 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_window_unlock ( TYPE(mp_window_type),intent(inout)  window,
INTEGER,intent(in)  remote 
)

Terminates an RMA access.

Author:
UB
Parameters:
[in]windowRMA access window
[in]remoteprocess to which access is initiated (target)

Definition at line 1752 of file message_passing.f90.

References add_perf(), dbcsr_machine::m_walltime(), mp_stop(), t_end, t_start, and timings::timeset().

Here is the call graph for this function:

subroutine,public message_passing::mp_world_finalize ( )

finalizes the system default communicator

History
2.2004 created [Joost VandeVondele]

Definition at line 547 of file message_passing.f90.

References mp_stop(), and MPI_COMM_WORLD.

Referenced by f77_interface::finalize_cp2k().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::mp_world_init ( INTEGER,intent(out)  mp_comm)

initializes the system default communicator

Parameters:
mp_comm[output] : handle of the default communicator
Note:
should only be called once
History
2.2004 created [Joost VandeVondele ]

Definition at line 453 of file message_passing.f90.

References mp_stop(), and MPI_COMM_WORLD.

Referenced by f77_interface::init_cp2k().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public message_passing::rm_mp_perf_env ( )

Definition at line 699 of file message_passing.f90.

References mp_abort(), mp_perf_env_release(), mp_perf_stack, and stack_pointer.

Referenced by f77_interface::f_env_rm_defaults(), and f77_interface::finalize_cp2k().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Definition at line 438 of file message_passing.f90.

Referenced by mp_bcast_am(), mp_bcast_av(), mp_bcast_z1_t3e(), and mp_bcast_zv_t3e().

LOGICAL,parameter,public message_passing::cp2k_is_parallel = .FALSE.
INTEGER,parameter message_passing::intlen = BIT_SIZE ( 0 ) / 8

Definition at line 435 of file message_passing.f90.

Definition at line 439 of file message_passing.f90.

Referenced by mp_perf_env_create().

INTEGER,parameter message_passing::loglen = BIT_SIZE ( 0 ) / 8

Definition at line 437 of file message_passing.f90.

Referenced by mp_bcast_b(), and mp_bcast_bv().

Definition at line 404 of file message_passing.f90.

Referenced by mp_perf_env_create(), and mp_perf_env_describe().

Definition at line 419 of file message_passing.f90.

Referenced by add_mp_perf_env().

CHARACTER(len=*),parameter,private message_passing::moduleN = 'message_passing'

Definition at line 61 of file message_passing.f90.

INTEGER,parameter,public message_passing::mp_any_source = -2

Definition at line 56 of file message_passing.f90.

Referenced by cp2k_runs::farming_run().

INTEGER,parameter,public message_passing::mp_any_tag = -1

Definition at line 55 of file message_passing.f90.

INTEGER,parameter,public message_passing::mp_comm_null = -3

Definition at line 422 of file message_passing.f90.

Referenced by add_mp_perf_env(), add_perf(), get_mp_perf_env(), and rm_mp_perf_env().

INTEGER,parameter,public message_passing::MPI_COMM_NULL = -1

Definition at line 107 of file message_passing.f90.

Referenced by mp_cart_create(), and replica_types::rep_env_create().

Definition at line 436 of file message_passing.f90.

CHARACTER(LEN=20),dimension(max_perf),parameter message_passing::sname = (/"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_Window_Lock ", "MP_Window_Misc "/)

Definition at line 424 of file message_passing.f90.

Referenced by mp_perf_env_create().

Definition at line 420 of file message_passing.f90.

Referenced by add_mp_perf_env(), add_perf(), get_mp_perf_env(), and rm_mp_perf_env().

REAL(KIND=dp) message_passing::t_end

Definition at line 432 of file message_passing.f90.

Referenced by mp_allocate_r(), mp_allocate_z(), mp_alltoall_r(), mp_alltoall_r11v(), mp_alltoall_r22(), mp_alltoall_r22v(), mp_alltoall_r33(), mp_alltoall_r34(), mp_alltoall_r44(), mp_alltoall_r45(), mp_alltoall_r54(), mp_alltoall_z(), mp_alltoall_z11v(), mp_alltoall_z22(), mp_alltoall_z22v(), mp_alltoall_z33(), mp_alltoall_z34(), mp_alltoall_z44(), mp_alltoall_z45(), mp_alltoall_z54(), mp_bcast_am(), mp_bcast_av(), mp_bcast_b(), mp_bcast_bv(), mp_bcast_r(), mp_bcast_r3(), mp_bcast_rm(), mp_bcast_rv(), mp_bcast_z(), mp_bcast_z1_t3e(), mp_bcast_z3(), mp_bcast_zm(), mp_bcast_zv(), mp_bcast_zv_t3e(), mp_cart_create(), mp_comm_split(), mp_comm_split_direct(), mp_deallocate_r(), mp_deallocate_z(), mp_gather_r(), mp_gather_rm(), mp_gather_rv(), mp_gather_z(), mp_gather_zm(), mp_gather_zv(), mp_gatherv_rv(), mp_gatherv_zv(), mp_group(), mp_irecv_rm2(), mp_irecv_rm3(), mp_irecv_rv(), mp_irecv_zm2(), mp_irecv_zm3(), mp_irecv_zv(), mp_isend_rm2(), mp_isend_rm3(), mp_isend_rv(), mp_isend_zm2(), mp_isend_zm3(), mp_isend_zv(), mp_isendrecv_rm2(), mp_isendrecv_rv(), mp_isendrecv_zm2(), mp_isendrecv_zv(), mp_max_r(), mp_max_rv(), mp_max_z(), mp_max_zv(), mp_maxloc_dv(), mp_maxloc_iv(), mp_maxloc_lv(), mp_maxloc_rv(), mp_min_r(), mp_min_rv(), mp_min_z(), mp_min_zv(), mp_minloc_dv(), mp_minloc_iv(), mp_minloc_lv(), mp_minloc_rv(), mp_recv_r(), mp_recv_rv(), mp_recv_z(), mp_recv_zv(), mp_reordering(), mp_rma_get_r(), mp_rma_get_z(), mp_rma_put_r(), mp_rma_put_z(), mp_scatter_rv(), mp_scatter_zv(), mp_send_r(), mp_send_rv(), mp_send_z(), mp_send_zv(), mp_sendrecv_rm2(), mp_sendrecv_rm3(), mp_sendrecv_rv(), mp_sendrecv_zm2(), mp_sendrecv_zm3(), mp_sendrecv_zv(), mp_shift_r(), mp_shift_rm(), mp_shift_z(), mp_shift_zm(), mp_sum_r(), mp_sum_rm(), mp_sum_rm3(), mp_sum_rm4(), mp_sum_rm5(), mp_sum_rm6(), mp_sum_root_rm(), mp_sum_root_rv(), mp_sum_root_zm(), mp_sum_root_zv(), mp_sum_rv(), mp_sum_scatter_rv(), mp_sum_scatter_zv(), mp_sum_z(), mp_sum_zm(), mp_sum_zm3(), mp_sum_zm4(), mp_sum_zm5(), mp_sum_zm6(), mp_sum_zv(), mp_sync(), mp_wait(), mp_waitall_1(), mp_waitall_2(), mp_waitany(), mp_win_create_r(), mp_win_create_z(), mp_window_destroy(), mp_window_fence(), mp_window_lock(), and mp_window_unlock().

REAL(KIND=dp) message_passing::t_start

Definition at line 432 of file message_passing.f90.

Referenced by mp_allocate_r(), mp_allocate_z(), mp_alltoall_r(), mp_alltoall_r11v(), mp_alltoall_r22(), mp_alltoall_r22v(), mp_alltoall_r33(), mp_alltoall_r34(), mp_alltoall_r44(), mp_alltoall_r45(), mp_alltoall_r54(), mp_alltoall_z(), mp_alltoall_z11v(), mp_alltoall_z22(), mp_alltoall_z22v(), mp_alltoall_z33(), mp_alltoall_z34(), mp_alltoall_z44(), mp_alltoall_z45(), mp_alltoall_z54(), mp_bcast_am(), mp_bcast_av(), mp_bcast_b(), mp_bcast_bv(), mp_bcast_r(), mp_bcast_r3(), mp_bcast_rm(), mp_bcast_rv(), mp_bcast_z(), mp_bcast_z1_t3e(), mp_bcast_z3(), mp_bcast_zm(), mp_bcast_zv(), mp_bcast_zv_t3e(), mp_cart_create(), mp_comm_split(), mp_comm_split_direct(), mp_deallocate_r(), mp_deallocate_z(), mp_gather_r(), mp_gather_rm(), mp_gather_rv(), mp_gather_z(), mp_gather_zm(), mp_gather_zv(), mp_gatherv_rv(), mp_gatherv_zv(), mp_group(), mp_irecv_rm2(), mp_irecv_rm3(), mp_irecv_rv(), mp_irecv_zm2(), mp_irecv_zm3(), mp_irecv_zv(), mp_isend_rm2(), mp_isend_rm3(), mp_isend_rv(), mp_isend_zm2(), mp_isend_zm3(), mp_isend_zv(), mp_isendrecv_rm2(), mp_isendrecv_rv(), mp_isendrecv_zm2(), mp_isendrecv_zv(), mp_max_r(), mp_max_rv(), mp_max_z(), mp_max_zv(), mp_maxloc_dv(), mp_maxloc_iv(), mp_maxloc_lv(), mp_maxloc_rv(), mp_min_r(), mp_min_rv(), mp_min_z(), mp_min_zv(), mp_minloc_dv(), mp_minloc_iv(), mp_minloc_lv(), mp_minloc_rv(), mp_recv_r(), mp_recv_rv(), mp_recv_z(), mp_recv_zv(), mp_reordering(), mp_rma_get_r(), mp_rma_get_z(), mp_rma_put_r(), mp_rma_put_z(), mp_scatter_rv(), mp_scatter_zv(), mp_send_r(), mp_send_rv(), mp_send_z(), mp_send_zv(), mp_sendrecv_rm2(), mp_sendrecv_rm3(), mp_sendrecv_rv(), mp_sendrecv_zm2(), mp_sendrecv_zm3(), mp_sendrecv_zv(), mp_shift_r(), mp_shift_rm(), mp_shift_z(), mp_shift_zm(), mp_sum_r(), mp_sum_rm(), mp_sum_rm3(), mp_sum_rm4(), mp_sum_rm5(), mp_sum_rm6(), mp_sum_root_rm(), mp_sum_root_rv(), mp_sum_root_zm(), mp_sum_root_zv(), mp_sum_rv(), mp_sum_scatter_rv(), mp_sum_scatter_zv(), mp_sum_z(), mp_sum_zm(), mp_sum_zm3(), mp_sum_zm4(), mp_sum_zm5(), mp_sum_zm6(), mp_sum_zv(), mp_sync(), mp_wait(), mp_waitall_1(), mp_waitall_2(), mp_waitany(), mp_win_create_r(), mp_win_create_z(), mp_window_destroy(), mp_window_fence(), mp_window_lock(), and mp_window_unlock().