Eigenvalue SoLvers for Petaflop-Applications (ELPA) 2022.11.001.rc1
|
Fortran module which provides the actual implementation of the API. Do not use directly! Use the module "elpa". More...
Data Types | |
type | elpa_impl_t |
Definition of the extended elpa_impl_t type. More... | |
Functions/Subroutines | |
type(elpa_impl_t) function, pointer, public | elpa_impl_allocate (error) |
the implementation of the generic methods More... | |
type(c_ptr) function | elpa_impl_allocate_c (error) |
subroutine | elpa_impl_deallocate_c (handle, error) |
subroutine | elpa_load_settings (self, file_name, error) |
function to load all the parameters, which have been saved to a file Parameters More... | |
subroutine | elpa_load_settings_c (handle, filename_p, error) |
subroutine | elpa_print_settings (self, error) |
function to print all the parameters, that have been set Parameters More... | |
subroutine | elpa_print_settings_c (handle, error) |
subroutine | elpa_store_settings (self, file_name, error) |
function to save all the parameters, that have been set Parameters More... | |
subroutine | elpa_store_settings_c (handle, filename_p, error) |
subroutine | elpa_autotune_impl_deallocate (autotune_handle, error) |
integer function | elpa_setup (self) |
function to setup an ELPA object and to store the MPI communicators internally Parameters More... | |
integer(kind=c_int) function | elpa_setup_c (handle) |
integer function | elpa_construct_scalapack_descriptor (self, sc_desc, rectangular_for_ev) |
subroutine | elpa_set_integer_c (handle, name_p, value, error) |
subroutine | elpa_get_integer_c (handle, name_p, value, error) |
integer function | elpa_is_set (self, name) |
function to check whether a key/value pair is set Parameters More... | |
integer function | elpa_can_set (self, name, value) |
function to check whether a key/value pair can be set Parameters More... | |
character(kind=c_char, len=elpa_index_int_value_to_strlen_c(self%index, option_name//c_null_char)) function, pointer | elpa_value_to_string (self, option_name, error) |
function to convert a value to an human readable string Parameters More... | |
subroutine | elpa_set_float_c (handle, name_p, value, error) |
subroutine | elpa_get_float_c (handle, name_p, value, error) |
subroutine | elpa_set_double_c (handle, name_p, value, error) |
subroutine | elpa_get_double_c (handle, name_p, value, error) |
integer(kind=c_int) function, pointer | elpa_associate_int (self, name) |
function to associate a pointer with an integer value Parameters More... | |
real(kind=c_double) function | elpa_get_time (self, name1, name2, name3, name4, name5, name6) |
function to querry the timing information at a certain level Parameters More... | |
subroutine | elpa_print_times (self, name1, name2, name3, name4) |
function to print the timing tree below at a certain level Parameters More... | |
subroutine | elpa_timer_start (self, name) |
function to start the timing of a code region Parameters More... | |
subroutine | elpa_timer_stop (self, name) |
function to stop the timing of a code region Parameters More... | |
subroutine | elpa_destroy (self, error) |
function to destroy an elpa object Parameters More... | |
subroutine | elpa_autotune_set_api_version (self, api_version, error) |
procedure to set the api version used for ELPA autotuning Parameters More... | |
class(elpa_autotune_t) function, pointer | elpa_autotune_setup (self, level, domain, error) |
function to setup the ELPA autotuning and create the autotune object Parameters More... | |
subroutine | elpa_autotune_set_api_version_c (handle, api_version, error) |
type(c_ptr) function | elpa_autotune_setup_c (handle, level, domain, error) |
logical function | elpa_autotune_step (self, tune_state, error) |
function to do the work an autotunig step Parameters More... | |
logical function | elpa_autotune_step_worker (self, tune_state, solver, error) |
function to do the work of an autotunig step Parameters More... | |
integer(kind=c_int) function | elpa_autotune_step_c (handle, autotune_handle, error) |
subroutine | elpa_autotune_set_best (self, tune_state, error) |
function to set the up-to-now best options of the autotuning Parameters More... | |
subroutine | elpa_autotune_print_best (self, tune_state, error) |
function to print the up-to-now best options of the autotuning Parameters More... | |
subroutine | elpa_autotune_print_state (self, tune_state, error) |
function to print the state of the autotuning Parameters More... | |
subroutine | elpa_autotune_print_state_c (handle, autotune_handle, error) |
subroutine | elpa_autotune_save_state (self, tune_state, file_name, error) |
function to save the state of the autotuning Parameters More... | |
subroutine | elpa_autotune_save_state_c (handle, autotune_handle, filename_p, error) |
subroutine | elpa_autotune_load_state (self, tune_state, file_name, error) |
function to load the state of the autotuning Parameters More... | |
subroutine | elpa_autotune_load_state_c (handle, autotune_handle, filename_p, error) |
subroutine | elpa_autotune_set_best_c (handle, autotune_handle, error) |
subroutine | elpa_autotune_print_best_c (handle, autotune_handle, error) |
logical function | check_elpa (error, str, new_error) |
logical function | check_elpa_get (error, new_error) |
logical function | check_elpa_set (error, new_error) |
subroutine | elpa_creating_from_legacy_api (self) |
Variables | |
integer(kind=c_int), private | autotune_level |
integer(kind=c_int), private | autotune_domain |
logical, dimension(0:elpa_number_of_autotune_levels-1), save, private | autotune_substeps_done1stage = .false. |
logical, dimension(0:elpa_number_of_autotune_levels-1), save, private | autotune_substeps_done2stage = .false. |
logical, save, private | do_autotune_2stage = .false. |
logical, save, private | do_autotune_1stage = .false. |
logical, save, private | last_call_2stage = .false. |
logical, save, private | last_call_1stage = .false. |
logical, save, private | autotune_api_set = .false. |
logical, save, private | new_autotune = .false. |
integer(kind=c_int), private | consider_solver |
Fortran module which provides the actual implementation of the API. Do not use directly! Use the module "elpa".
|
private |
|
private |
|
private |
|
private |
function to associate a pointer with an integer value Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name | string: the name of the entry |
|
private |
|
private |
function to load the state of the autotuning Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
file_name | string, the name of the file from which to load the state |
error | integer, optional |
|
private |
subroutine elpa_impl::elpa_autotune_print_best | ( | class(elpa_impl_t), intent(inout) | self, |
class(elpa_autotune_t), intent(in), target | tune_state, | ||
integer(kind=c_int), intent(out), optional | error | ||
) |
function to print the up-to-now best options of the autotuning Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
error | integer, optional |
|
private |
|
private |
function to print the state of the autotuning Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
error | integer, optional |
|
private |
|
private |
function to save the state of the autotuning Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
file_name | string, the name of the file where to save the state |
error | integer, optional |
|
private |
|
private |
procedure to set the api version used for ELPA autotuning Parameters
self | the allocated ELPA object |
api_version | integer: the api_version |
error | integer: error code |
|
private |
|
private |
function to set the up-to-now best options of the autotuning Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
error | code optional, integer |
|
private |
|
private |
function to setup the ELPA autotuning and create the autotune object Parameters
self | the allocated ELPA object |
level | integer: the "thoroughness" of the planed autotuning |
domain | integer: the domain (real/complex) which should be tuned |
|
private |
|
private |
function to do the work an autotunig step Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
|
private |
|
private |
function to do the work of an autotunig step Parameters
self | class(elpa_impl_t) the allocated ELPA object |
tune_state | class(elpa_autotune_t): the autotuning object |
|
private |
function to check whether a key/value pair can be set Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name | string, the key |
value | integer, value |
|
private |
|
private |
|
private |
function to destroy an elpa object Parameters
self | class(elpa_impl_t) the allocated ELPA object |
error | integer, optional error code |
|
private |
|
private |
|
private |
|
private |
function to querry the timing information at a certain level Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name1 | .. name6 string: the string identifier for the timer region. at the moment 6 nested levels can be queried |
type(elpa_impl_t) function, pointer, public elpa_impl::elpa_impl_allocate | ( | integer, intent(out), optional | error | ) |
the implementation of the generic methods
function to allocate an ELPA object Parameters
error | integer, optional to get an error code |
|
private |
|
private |
|
private |
function to check whether a key/value pair is set Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name | string, the key |
|
private |
function to load all the parameters, which have been saved to a file Parameters
self | class(elpa_impl_t) the allocated ELPA object |
file_name | string, the name of the file from which to load the parameters |
error | integer, optional |
|
private |
|
private |
function to print all the parameters, that have been set Parameters
self | class(elpa_impl_t) the allocated ELPA object |
error | optional, integer |
|
private |
|
private |
function to print the timing tree below at a certain level Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name1 | .. name6 string: the string identifier for the timer region. at the moment 4 nested levels can be specified |
|
private |
|
private |
|
private |
|
private |
function to setup an ELPA object and to store the MPI communicators internally Parameters
self | class(elpa_impl_t), the allocated ELPA object |
integer(kind=c_int) function elpa_impl::elpa_setup_c | ( | type(c_ptr), intent(in), value | handle | ) |
|
private |
function to save all the parameters, that have been set Parameters
self | class(elpa_impl_t) the allocated ELPA object |
file_name | string, the name of the file where to save the parameters |
error | integer, optional |
|
private |
|
private |
function to start the timing of a code region Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name | string: a chosen identifier name for the code region |
|
private |
function to stop the timing of a code region Parameters
self | class(elpa_impl_t) the allocated ELPA object |
name | string: identifier name for the code region to stop |
|
private |
function to convert a value to an human readable string Parameters
self | class(elpa_impl_t) the allocated ELPA object |
option_name | string: the name of the options, whose value should be converted |
error | integer: errpr code |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |