CP2K 2.4 (Revision 12889)
Classes | Functions | Variables

dbcsr_mp_operations Namespace Reference

Wrappers to message passing calls. More...

Classes

interface  dbcsr_hybrid_alltoall

Functions

subroutine, public hybrid_alltoall_any (sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid, error)
subroutine, public hybrid_alltoall_i1 (sb, scount, sdispl, rb, rcount, rdispl, mp_env, most_ptp, remainder_ptp, no_hybrid)
 Row/column and global all-to-all.
TYPE(mp_type_descriptor_type),
public 
dbcsr_mp_type_from_anytype (data_area)
 Creates an MPI combined type from the given anytype.
subroutine, public dbcsr_send_any (msgin, dest, tag, comm, error)
 Blocking send of encapsulated data.
subroutine, public dbcsr_isend_any (msgin, dest, comm, request, tag, error)
 Non-blocking send of encapsulated data.
subroutine, public dbcsr_recv_any (msgin, source, tag, comm, error)
 Blocking recv of encapsulated data.
subroutine, public dbcsr_irecv_any (msgin, source, comm, request, tag, error)
 Non-blocking recv of encapsulated data.
subroutine, public dbcsr_allgatherv (send_data, recv_data, recv_count, recv_displ, gid)
 Allgather of encapsulated data.

Variables

CHARACTER(len=*), parameter,
private 
moduleN = 'dbcsr_mp_operations'
REAL, parameter default_resize_factor = 1.618034

Detailed Description

Wrappers to message passing calls.

Author:
Urban Borstnik
Date:
2010-02-18
Version:
0.9

Modification history:


Function Documentation

subroutine,public dbcsr_mp_operations::dbcsr_allgatherv ( TYPE(dbcsr_data_obj),intent(in)  send_data,
TYPE(dbcsr_data_obj),intent(inout)  recv_data,
INTEGER,dimension(:),intent(in)  recv_count,
INTEGER,dimension(:),intent(in)  recv_displ,
INTEGER,intent(in)  gid 
)

Allgather of encapsulated data.

See also:
mp_allgatherv_dv

Definition at line 474 of file dbcsr_mp_operations.f90.

References dbcsr_data_methods::dbcsr_data_get_type(), dbcsr_error_handling::dbcsr_fatal_level, and dbcsr_error_handling::dbcsr_wrong_args_error.

Referenced by dbcsr_transformations::dbcsr_replicate().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public dbcsr_mp_operations::dbcsr_irecv_any ( TYPE(dbcsr_data_obj),intent(in)  msgin,
INTEGER,intent(in)  source,
INTEGER,intent(in)  comm,
INTEGER,intent(out)  request,
INTEGER,intent(in),optional  tag,
TYPE(dbcsr_error_type),intent(inout)  error 
)

Non-blocking recv of encapsulated data.

See also:
mp_irecv_iv

Definition at line 444 of file dbcsr_mp_operations.f90.

References dbcsr_error_handling::dbcsr_caller_error, dbcsr_data_methods::dbcsr_data_get_type(), and dbcsr_error_handling::dbcsr_fatal_level.

Referenced by dbcsr_mm_cannon::dbcsr_mm_cannon_multiply().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public dbcsr_mp_operations::dbcsr_isend_any ( TYPE(dbcsr_data_obj),intent(in)  msgin,
INTEGER,intent(in)  dest,
INTEGER,intent(in)  comm,
INTEGER,intent(out)  request,
INTEGER,intent(in),optional  tag,
TYPE(dbcsr_error_type),intent(inout)  error 
)

Non-blocking send of encapsulated data.

See also:
mp_isend_iv

Definition at line 384 of file dbcsr_mp_operations.f90.

References dbcsr_error_handling::dbcsr_caller_error, dbcsr_data_methods::dbcsr_data_get_type(), and dbcsr_error_handling::dbcsr_fatal_level.

Here is the call graph for this function:

TYPE(mp_type_descriptor_type),public dbcsr_mp_operations::dbcsr_mp_type_from_anytype ( TYPE(dbcsr_data_obj),intent(in)  data_area)

Creates an MPI combined type from the given anytype.

Parameters:
[in]data_areaData area of any type
Returns:
mp_type Type descriptor

Definition at line 336 of file dbcsr_mp_operations.f90.

Referenced by dbcsr_io::dbcsr_binary_write().

Here is the caller graph for this function:

subroutine,public dbcsr_mp_operations::dbcsr_recv_any ( TYPE(dbcsr_data_obj),intent(inout)  msgin,
INTEGER,intent(in)  source,
INTEGER,intent(in)  tag,
INTEGER,intent(in)  comm,
TYPE(dbcsr_error_type),intent(inout)  error 
)

Blocking recv of encapsulated data.

See also:
mp_recv_iv

Definition at line 413 of file dbcsr_mp_operations.f90.

References dbcsr_error_handling::dbcsr_caller_error, dbcsr_data_methods::dbcsr_data_get_type(), and dbcsr_error_handling::dbcsr_fatal_level.

Referenced by dbcsr_operations::dbcsr_reduce().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public dbcsr_mp_operations::dbcsr_send_any ( TYPE(dbcsr_data_obj),intent(in)  msgin,
INTEGER,intent(in)  dest,
INTEGER,intent(in)  tag,
INTEGER,intent(in)  comm,
TYPE(dbcsr_error_type),intent(inout)  error 
)

Blocking send of encapsulated data.

See also:
mp_send_iv

Definition at line 357 of file dbcsr_mp_operations.f90.

References dbcsr_error_handling::dbcsr_caller_error, dbcsr_data_methods::dbcsr_data_get_type(), and dbcsr_error_handling::dbcsr_fatal_level.

Here is the call graph for this function:

subroutine,public dbcsr_mp_operations::hybrid_alltoall_any ( TYPE(dbcsr_data_obj),intent(in)  sb,
INTEGER,dimension(:),intent(in)  scount,
INTEGER,dimension(:),intent(in)  sdispl,
TYPE(dbcsr_data_obj),intent(inout)  rb,
INTEGER,dimension(:),intent(in)  rcount,
INTEGER,dimension(:),intent(in)  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,
TYPE(dbcsr_error_type)  error 
)
subroutine,public dbcsr_mp_operations::hybrid_alltoall_i1 ( INTEGER,dimension(:),intent(in),target  sb,
INTEGER,dimension(:),intent(in)  scount,
INTEGER,dimension(:),intent(in)  sdispl,
INTEGER,dimension(:),intent(inout),target  rb,
INTEGER,dimension(:),intent(in)  rcount,
INTEGER,dimension(:),intent(in)  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.

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.
Parameters:
[in]mp_envMP Environment
[in]most_ptp(optional) Use point-to-point for row/column; default is no
[in]remainder_ptp(optional) Use point-to-point for remaining; default is no
[in]no_hybrid(optional) Use regular global collective; default is no
See also:
mp_alltoall

Definition at line 131 of file dbcsr_mp_operations.f90.

References dbcsr_methods::dbcsr_mp_grid_setup(), dbcsr_methods::dbcsr_mp_group(), dbcsr_methods::dbcsr_mp_has_subgroups(), dbcsr_methods::dbcsr_mp_mynode(), dbcsr_methods::dbcsr_mp_mypcol(), dbcsr_methods::dbcsr_mp_myprow(), dbcsr_methods::dbcsr_mp_npcols(), dbcsr_methods::dbcsr_mp_nprows(), dbcsr_methods::dbcsr_mp_numnodes(), dbcsr_methods::dbcsr_mp_pgrid(), dbcsr_config::has_MPI, most_alltoall(), most_point_to_point(), remainder_alltoall(), and remainder_point_to_point().

Here is the call graph for this function:


Variable Documentation

REAL,parameter dbcsr_mp_operations::default_resize_factor = 1.618034

Definition at line 45 of file dbcsr_mp_operations.f90.

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

Definition at line 43 of file dbcsr_mp_operations.f90.