![]() |
(git:85b7b8c)
|
Interface to the message passing library MPI. More...
Data Types | |
interface | mp_allocate |
type | mp_cart_type |
type | mp_comm_type |
interface | mp_deallocate |
type | mp_file_descriptor_type |
type | mp_file_type |
type | mp_info_type |
type | mp_para_cart_type |
represent a multidimensional parallel environment More... | |
type | mp_para_env_p_type |
represent a pointer to a para env (to build arrays) More... | |
type | mp_para_env_type |
stores all the informations relevant to an mpi environment More... | |
type | mp_request_type |
interface | mp_testall |
interface | mp_testany |
type | mp_type_descriptor_type |
interface | mp_type_make |
interface | mp_waitall |
type | mp_win_type |
Functions/Subroutines | |
subroutine, public | mp_world_init (mp_comm) |
initializes the system default communicator | |
subroutine, public | mp_world_finalize () |
finalizes the system default communicator | |
subroutine, public | mp_abort () |
globally stops all tasks this is intended to be low level, most of CP2K should call cp_abort() | |
subroutine, public | mp_para_env_create (para_env, group) |
creates a new para environment | |
subroutine, public | mp_para_env_release (para_env) |
releases the para object (to be called when you don't want anymore the shared copy of this object) | |
subroutine, public | mp_para_cart_create (cart, group) |
creates a cart (multidimensional parallel environment) | |
subroutine, public | mp_para_cart_release (cart) |
releases the given cart | |
subroutine, public | mp_dims_create (nodes, dims) |
wrapper to MPI_Dims_create | |
subroutine, public | mp_waitany (requests, completed) |
waits for completion of any of the given requests | |
integer function, public | mp_get_node_global_rank () |
Get the local rank on the node according to the global communicator. | |
subroutine, public | mp_get_library_version (version, resultlen) |
Get Version of the MPI Library (MPI 3) | |
subroutine, public | mp_file_delete (filepath, info) |
Deletes a file. Auxiliary routine to emulate 'replace' action for mp_file_open. Only the master processor should call this routine. | |
subroutine, public | mp_type_size (type_descriptor, type_size) |
Returns the size of a data type in bytes. | |
type(mp_file_descriptor_type) function, public | mp_file_type_hindexed_make_chv (count, lengths, displs) |
Creates an indexed MPI type for arrays of strings using bytes for spacing (hindexed type) | |
subroutine, public | mp_file_type_set_view_chv (fh, offset, type_descriptor) |
Uses a previously created indexed MPI character type to tell the MPI processes how to partition (set_view) an opened file. | |
subroutine, public | mp_file_type_free (type_descriptor) |
Releases the type used for MPI I/O. | |
subroutine, public | mp_file_get_amode (mpi_io, replace, amode, form, action, status, position) |
(parallel) Utility routine to determine MPI file access mode based on variables | |
type(mp_type_descriptor_type) function, public | mp_type_indexed_make_d (count, lengths, displs) |
... | |
type(mp_type_descriptor_type) function, public | mp_type_indexed_make_r (count, lengths, displs) |
... | |
type(mp_type_descriptor_type) function, public | mp_type_indexed_make_z (count, lengths, displs) |
... | |
type(mp_type_descriptor_type) function, public | mp_type_indexed_make_c (count, lengths, displs) |
... | |
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_status_size = -9 |
integer, parameter, public | mp_proc_null = -10 |
integer, parameter, public | mp_max_library_version_string = 1 |
integer, parameter, public | file_offset = int_8 |
integer, parameter, public | address_kind = int_8 |
integer, parameter, public | file_amode_create = 1 |
integer, parameter, public | file_amode_rdonly = 2 |
integer, parameter, public | file_amode_wronly = 4 |
integer, parameter, public | file_amode_rdwr = 8 |
integer, parameter, public | file_amode_excl = 64 |
integer, parameter, public | file_amode_append = 128 |
integer, parameter, public | mpi_character_size = 1 |
integer, parameter, public | mpi_integer_size = 4 |
type(mp_comm_type), parameter, public | mp_comm_null = mp_comm_type(mp_comm_null_handle) |
type(mp_comm_type), parameter, public | mp_comm_self = mp_comm_type(mp_comm_self_handle) |
type(mp_comm_type), parameter, public | mp_comm_world = mp_comm_type(mp_comm_world_handle) |
type(mp_request_type), parameter, public | mp_request_null = mp_request_type(mp_request_null_handle) |
type(mp_win_type), parameter, public | mp_win_null = mp_win_type(mp_win_null_handle) |
type(mp_file_type), parameter, public | mp_file_null = mp_file_type(mp_file_null_handle) |
type(mp_info_type), parameter, public | mp_info_null = mp_info_type(mp_info_null_handle) |
integer, parameter, public | mp_comm_ident = 0 |
integer, parameter, public | mp_comm_congruent = 1 |
integer, parameter, public | mp_comm_similar = 2 |
integer, parameter, public | mp_comm_unequal = 3 |
integer, parameter, public | mp_comm_compare_default = -1 |
integer, parameter | intlen = BIT_SIZE(0)/8 |
logical, save, public | mp_collect_timings = .FALSE. |
Interface to the message passing library MPI.
subroutine, public message_passing::mp_world_init | ( | class(mp_comm_type), intent(out) | mp_comm | ) |
initializes the system default communicator
mp_comm | [output] : handle of the default communicator |
Definition at line 1273 of file message_passing.F.
subroutine, public message_passing::mp_world_finalize |
finalizes the system default communicator
Definition at line 1385 of file message_passing.F.
subroutine, public message_passing::mp_abort |
globally stops all tasks this is intended to be low level, most of CP2K should call cp_abort()
Definition at line 1418 of file message_passing.F.
subroutine, public message_passing::mp_para_env_create | ( | type(mp_para_env_type), pointer | para_env, |
class(mp_comm_type), intent(in) | group | ||
) |
creates a new para environment
para_env | the new parallel environment |
group | the id of the actual mpi_group |
Definition at line 2004 of file message_passing.F.
subroutine, public message_passing::mp_para_env_release | ( | type(mp_para_env_type), pointer | para_env | ) |
releases the para object (to be called when you don't want anymore the shared copy of this object)
para_env | the new group |
Definition at line 2026 of file message_passing.F.
subroutine, public message_passing::mp_para_cart_create | ( | type(mp_para_cart_type), intent(out), pointer | cart, |
class(mp_comm_type), intent(in) | group | ||
) |
creates a cart (multidimensional parallel environment)
cart | the cart environment to create |
group | the mpi communicator |
Definition at line 2042 of file message_passing.F.
subroutine, public message_passing::mp_para_cart_release | ( | type(mp_para_cart_type), pointer | cart | ) |
releases the given cart
cart | the cart to release |
Definition at line 2059 of file message_passing.F.
subroutine, public message_passing::mp_dims_create | ( | integer, intent(in) | nodes, |
integer, dimension(:), intent(inout) | dims | ||
) |
wrapper to MPI_Dims_create
nodes | ... |
dims | ... |
Definition at line 2131 of file message_passing.F.
subroutine, public message_passing::mp_waitany | ( | type(mp_request_type), dimension(:), intent(inout) | requests, |
integer, intent(out) | completed | ||
) |
waits for completion of any of the given requests
requests | ... |
completed | ... |
Definition at line 2355 of file message_passing.F.
integer function, public message_passing::mp_get_node_global_rank |
Get the local rank on the node according to the global communicator.
Definition at line 2725 of file message_passing.F.
subroutine, public message_passing::mp_get_library_version | ( | character(len=*), intent(out) | version, |
integer, intent(out) | resultlen | ||
) |
Get Version of the MPI Library (MPI 3)
[out] | version | Version of the library, declared as CHARACTER(LEN=mp_max_library_version_string) |
[out] | resultlen | Length (in printable characters) of the result returned in version (integer) |
Definition at line 3855 of file message_passing.F.
subroutine, public message_passing::mp_file_delete | ( | character(len=*), intent(in) | filepath, |
type(mp_info_type), intent(in), optional | info | ||
) |
Deletes a file. Auxiliary routine to emulate 'replace' action for mp_file_open. Only the master processor should call this routine.
[in] | filepath | path to the file |
[in] |
optional) info info object
Definition at line 3946 of file message_passing.F.
subroutine, public message_passing::mp_type_size | ( | type(mp_type_descriptor_type), intent(in) | type_descriptor, |
integer, intent(out) | type_size | ||
) |
Returns the size of a data type in bytes.
[in] | type_descriptor | data type |
[out] | type_size | size of the data type |
Definition at line 4292 of file message_passing.F.
type(mp_file_descriptor_type) function, public message_passing::mp_file_type_hindexed_make_chv | ( | integer, intent(in) | count, |
integer, dimension(1:count), intent(in), target | lengths, | ||
integer(kind=file_offset), dimension(1:count), intent(in), target | displs | ||
) |
Creates an indexed MPI type for arrays of strings using bytes for spacing (hindexed type)
count | number of array blocks to read |
lengths | lengths of each array block |
displs | byte offsets for array blocks |
Definition at line 4441 of file message_passing.F.
subroutine, public message_passing::mp_file_type_set_view_chv | ( | type(mp_file_type), intent(in) | fh, |
integer(kind=file_offset), intent(in) | offset, | ||
type(mp_file_descriptor_type) | type_descriptor | ||
) |
Uses a previously created indexed MPI character type to tell the MPI processes how to partition (set_view) an opened file.
fh | the file handle associated with the input file |
offset | global offset determining where the relevant data begins |
type_descriptor | container for the MPI type |
Definition at line 4485 of file message_passing.F.
subroutine, public message_passing::mp_file_type_free | ( | type(mp_file_descriptor_type) | type_descriptor | ) |
Releases the type used for MPI I/O.
type_descriptor | the container for the MPI type |
Definition at line 4631 of file message_passing.F.
subroutine, public message_passing::mp_file_get_amode | ( | logical, intent(inout) | mpi_io, |
logical, intent(inout) | replace, | ||
integer, intent(out) | amode, | ||
character(len=*), intent(in) | form, | ||
character(len=*), intent(in) | action, | ||
character(len=*), intent(in) | status, | ||
character(len=*), intent(in) | position | ||
) |
(parallel) Utility routine to determine MPI file access mode based on variables
(serial) No action
mpi_io | flag that determines if MPI I/O will actually be used |
replace | flag that indicates whether file needs to be deleted prior to opening it |
amode | the MPI I/O access mode |
form | formatted or unformatted data? |
action | the variable that determines what to do with file |
status | the status flag: |
position | should the file be appended or rewound |
Definition at line 4677 of file message_passing.F.
type(mp_type_descriptor_type) function, public message_passing::mp_type_indexed_make_d | ( | integer, intent(in) | count, |
integer, dimension(1:count), intent(in), target | lengths, | ||
integer, dimension(1:count), intent(in), target | displs | ||
) |
...
count | ... |
lengths | ... |
displs | ... |
Definition at line 18703 of file message_passing.F.
type(mp_type_descriptor_type) function, public message_passing::mp_type_indexed_make_r | ( | integer, intent(in) | count, |
integer, dimension(1:count), intent(in), target | lengths, | ||
integer, dimension(1:count), intent(in), target | displs | ||
) |
...
count | ... |
lengths | ... |
displs | ... |
Definition at line 23410 of file message_passing.F.
type(mp_type_descriptor_type) function, public message_passing::mp_type_indexed_make_z | ( | integer, intent(in) | count, |
integer, dimension(1:count), intent(in), target | lengths, | ||
integer, dimension(1:count), intent(in), target | displs | ||
) |
...
count | ... |
lengths | ... |
displs | ... |
Definition at line 28117 of file message_passing.F.
type(mp_type_descriptor_type) function, public message_passing::mp_type_indexed_make_c | ( | integer, intent(in) | count, |
integer, dimension(1:count), intent(in), target | lengths, | ||
integer, dimension(1:count), intent(in), target | displs | ||
) |
...
count | ... |
lengths | ... |
displs | ... |
Definition at line 32824 of file message_passing.F.
logical, parameter, public message_passing::cp2k_is_parallel = .FALSE. |
Definition at line 143 of file message_passing.F.
integer, parameter, public message_passing::mp_any_tag = -1 |
Definition at line 144 of file message_passing.F.
integer, parameter, public message_passing::mp_any_source = -2 |
Definition at line 145 of file message_passing.F.
integer, parameter, public message_passing::mp_status_size = -9 |
Definition at line 154 of file message_passing.F.
integer, parameter, public message_passing::mp_proc_null = -10 |
Definition at line 155 of file message_passing.F.
integer, parameter, public message_passing::mp_max_library_version_string = 1 |
Definition at line 156 of file message_passing.F.
integer, parameter, public message_passing::file_offset = int_8 |
Definition at line 158 of file message_passing.F.
integer, parameter, public message_passing::address_kind = int_8 |
Definition at line 159 of file message_passing.F.
integer, parameter, public message_passing::file_amode_create = 1 |
Definition at line 160 of file message_passing.F.
integer, parameter, public message_passing::file_amode_rdonly = 2 |
Definition at line 161 of file message_passing.F.
integer, parameter, public message_passing::file_amode_wronly = 4 |
Definition at line 162 of file message_passing.F.
integer, parameter, public message_passing::file_amode_rdwr = 8 |
Definition at line 163 of file message_passing.F.
integer, parameter, public message_passing::file_amode_excl = 64 |
Definition at line 164 of file message_passing.F.
integer, parameter, public message_passing::file_amode_append = 128 |
Definition at line 165 of file message_passing.F.
integer, parameter, public message_passing::mpi_character_size = 1 |
Definition at line 170 of file message_passing.F.
integer, parameter, public message_passing::mpi_integer_size = 4 |
Definition at line 171 of file message_passing.F.
type(mp_comm_type), parameter, public message_passing::mp_comm_null = mp_comm_type(mp_comm_null_handle) |
Definition at line 811 of file message_passing.F.
type(mp_comm_type), parameter, public message_passing::mp_comm_self = mp_comm_type(mp_comm_self_handle) |
Definition at line 812 of file message_passing.F.
type(mp_comm_type), parameter, public message_passing::mp_comm_world = mp_comm_type(mp_comm_world_handle) |
Definition at line 813 of file message_passing.F.
type(mp_request_type), parameter, public message_passing::mp_request_null = mp_request_type(mp_request_null_handle) |
Definition at line 814 of file message_passing.F.
type(mp_win_type), parameter, public message_passing::mp_win_null = mp_win_type(mp_win_null_handle) |
Definition at line 815 of file message_passing.F.
type(mp_file_type), parameter, public message_passing::mp_file_null = mp_file_type(mp_file_null_handle) |
Definition at line 816 of file message_passing.F.
type(mp_info_type), parameter, public message_passing::mp_info_null = mp_info_type(mp_info_null_handle) |
Definition at line 817 of file message_passing.F.
integer, parameter, public message_passing::mp_comm_ident = 0 |
Definition at line 826 of file message_passing.F.
integer, parameter, public message_passing::mp_comm_congruent = 1 |
Definition at line 827 of file message_passing.F.
integer, parameter, public message_passing::mp_comm_similar = 2 |
Definition at line 828 of file message_passing.F.
integer, parameter, public message_passing::mp_comm_unequal = 3 |
Definition at line 829 of file message_passing.F.
integer, parameter, public message_passing::mp_comm_compare_default = -1 |
Definition at line 830 of file message_passing.F.
integer, parameter message_passing::intlen = BIT_SIZE(0)/8 |
Definition at line 965 of file message_passing.F.
logical, save, public message_passing::mp_collect_timings = .FALSE. |
Definition at line 970 of file message_passing.F.