![]() |
(git:421338c)
|
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 | |
| 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 1230 of file message_passing.F.
| subroutine, public message_passing::mp_world_finalize |
finalizes the system default communicator
Definition at line 1342 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 1375 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 1961 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 1983 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 1999 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 2016 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 2088 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 2271 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 3634 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 3725 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 4071 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 4224 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 4268 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 4414 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 4460 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 18494 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 23205 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 27916 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 32627 of file message_passing.F.
| logical, parameter, public message_passing::cp2k_is_parallel = .FALSE. |
Definition at line 101 of file message_passing.F.
| integer, parameter, public message_passing::mp_any_tag = -1 |
Definition at line 102 of file message_passing.F.
| integer, parameter, public message_passing::mp_any_source = -2 |
Definition at line 103 of file message_passing.F.
| integer, parameter, public message_passing::mp_status_size = -9 |
Definition at line 112 of file message_passing.F.
| integer, parameter, public message_passing::mp_proc_null = -10 |
Definition at line 113 of file message_passing.F.
| integer, parameter, public message_passing::mp_max_library_version_string = 1 |
Definition at line 114 of file message_passing.F.
| integer, parameter, public message_passing::file_offset = int_8 |
Definition at line 116 of file message_passing.F.
| integer, parameter, public message_passing::address_kind = int_8 |
Definition at line 117 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_create = 1 |
Definition at line 118 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_rdonly = 2 |
Definition at line 119 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_wronly = 4 |
Definition at line 120 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_rdwr = 8 |
Definition at line 121 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_excl = 64 |
Definition at line 122 of file message_passing.F.
| integer, parameter, public message_passing::file_amode_append = 128 |
Definition at line 123 of file message_passing.F.
| integer, parameter, public message_passing::mpi_character_size = 1 |
Definition at line 128 of file message_passing.F.
| integer, parameter, public message_passing::mpi_integer_size = 4 |
Definition at line 129 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 769 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 770 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 771 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 772 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 773 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 774 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 775 of file message_passing.F.
| integer, parameter, public message_passing::mp_comm_ident = 0 |
Definition at line 784 of file message_passing.F.
| integer, parameter, public message_passing::mp_comm_congruent = 1 |
Definition at line 785 of file message_passing.F.
| integer, parameter, public message_passing::mp_comm_similar = 2 |
Definition at line 786 of file message_passing.F.
| integer, parameter, public message_passing::mp_comm_unequal = 3 |
Definition at line 787 of file message_passing.F.
| integer, parameter, public message_passing::mp_comm_compare_default = -1 |
Definition at line 788 of file message_passing.F.
| integer, parameter message_passing::intlen = BIT_SIZE(0)/8 |
Definition at line 922 of file message_passing.F.
| logical, save, public message_passing::mp_collect_timings = .FALSE. |
Definition at line 927 of file message_passing.F.