Eigenvalue SoLvers for Petaflop-Applications (ELPA) 2024.03.001
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
elpa_impl::elpa_impl_t Type Reference

Definition of the extended elpa_impl_t type. More...

Inheritance diagram for elpa_impl::elpa_impl_t:
elpa_abstract_impl::elpa_abstract_impl_t elpa_api::elpa_t

Public Member Functions

procedure, public setup (self)
 methods available with the elpa_impl_t type
 
procedure, public destroy (self, error)
 a destroy method: implemented in elpa_destroy
 
procedure, public setup_gpu (self)
 setup the GPU usage
 
procedure, public is_set (self, name)
 a method to check whether a key/value pair has been set : implemented in elpa_is_set
 
procedure, public can_set (self, name, value)
 a method to check whether a key/value pair can be set : implemented in elpa_can_set
 
procedure, public creating_from_legacy_api (self)
 
procedure, public get_time (self, name1, name2, name3, name4, name5, name6)
 function to querry the timing information at a certain level Parameters
 
procedure, public print_times (self, name1, name2, name3, name4)
 function to print the timing tree below at a certain level Parameters
 
procedure, public timer_start (self, name)
 function to start the timing of a code region Parameters
 
procedure, public timer_stop (self, name)
 function to stop the timing of a code region Parameters
 
procedure, public elpa_eigenvectors_a_h_a_d elpa_eigenvectors_a_h_a_d
 the implemenation methods
 
procedure, public elpa_eigenvectors_a_h_a_f elpa_eigenvectors_a_h_a_f
 
procedure, public elpa_eigenvectors_a_h_a_dc elpa_eigenvectors_a_h_a_dc
 
procedure, public elpa_eigenvectors_a_h_a_fc elpa_eigenvectors_a_h_a_fc
 
procedure, public elpa_eigenvectors_d_ptr_d elpa_eigenvectors_d_ptr_d
 
procedure, public elpa_eigenvectors_d_ptr_f elpa_eigenvectors_d_ptr_f
 
procedure, public elpa_eigenvectors_d_ptr_dc elpa_eigenvectors_d_ptr_dc
 
procedure, public elpa_eigenvectors_d_ptr_fc elpa_eigenvectors_d_ptr_fc
 
procedure, public elpa_eigenvalues_a_h_a_d elpa_eigenvalues_a_h_a_d
 public methods to implement the solve step for real/complex double/single matrices; only the eigenvalues are computed
 
procedure, public elpa_eigenvalues_a_h_a_f elpa_eigenvalues_a_h_a_f
 
procedure, public elpa_eigenvalues_a_h_a_dc elpa_eigenvalues_a_h_a_dc
 
procedure, public elpa_eigenvalues_a_h_a_fc elpa_eigenvalues_a_h_a_fc
 
procedure, public elpa_eigenvalues_d_ptr_d elpa_eigenvalues_d_ptr_d
 
procedure, public elpa_eigenvalues_d_ptr_f elpa_eigenvalues_d_ptr_f
 
procedure, public elpa_eigenvalues_d_ptr_dc elpa_eigenvalues_d_ptr_dc
 
procedure, public elpa_eigenvalues_d_ptr_fc elpa_eigenvalues_d_ptr_fc
 
procedure, public elpa_skew_eigenvectors_a_h_a_d elpa_skew_eigenvectors_a_h_a_d
 public methods to implement the solve step for real skew-symmetric double/single matrices
 
procedure, public elpa_skew_eigenvectors_a_h_a_f elpa_skew_eigenvectors_a_h_a_f
 
procedure, public elpa_skew_eigenvalues_a_h_a_d elpa_skew_eigenvalues_a_h_a_d
 public methods to implement the solve step for real skew-symmetric double/single matrices; only the eigenvalues are computed
 
procedure, public elpa_skew_eigenvalues_a_h_a_f elpa_skew_eigenvalues_a_h_a_f
 
procedure, public elpa_skew_eigenvectors_d_ptr_d elpa_skew_eigenvectors_d_ptr_d
 
procedure, public elpa_skew_eigenvectors_d_ptr_f elpa_skew_eigenvectors_d_ptr_f
 
procedure, public elpa_skew_eigenvalues_d_ptr_d elpa_skew_eigenvalues_d_ptr_d
 
procedure, public elpa_skew_eigenvalues_d_ptr_f elpa_skew_eigenvalues_d_ptr_f
 
procedure, public elpa_generalized_eigenvectors_d elpa_generalized_eigenvectors_d
 public methods to implement the solve step for generalized eigenproblem and real/complex double/single matrices
 
procedure, public elpa_generalized_eigenvectors_f elpa_generalized_eigenvectors_f
 
procedure, public elpa_generalized_eigenvectors_dc elpa_generalized_eigenvectors_dc
 
procedure, public elpa_generalized_eigenvectors_fc elpa_generalized_eigenvectors_fc
 
procedure, public elpa_generalized_eigenvalues_d elpa_generalized_eigenvalues_d
 public methods to implement the solve step for generalized eigenproblem and real/complex double/single matrices
 
procedure, public elpa_generalized_eigenvalues_f elpa_generalized_eigenvalues_f
 
procedure, public elpa_generalized_eigenvalues_dc elpa_generalized_eigenvalues_dc
 
procedure, public elpa_generalized_eigenvalues_fc elpa_generalized_eigenvalues_fc
 
procedure, public elpa_hermitian_multiply_a_h_a_d elpa_hermitian_multiply_a_h_a_d
 public methods to implement a "hermitian" multiplication of matrices a and b
 
procedure, public elpa_hermitian_multiply_a_h_a_f elpa_hermitian_multiply_a_h_a_f
 for real valued matrices: a**T * b
 
procedure, public elpa_hermitian_multiply_a_h_a_dc elpa_hermitian_multiply_a_h_a_dc
 for complex valued matrices: a**H * b
 
procedure, public elpa_hermitian_multiply_a_h_a_fc elpa_hermitian_multiply_a_h_a_fc
 
procedure, public elpa_hermitian_multiply_d_ptr_d elpa_hermitian_multiply_d_ptr_d
 public methods to implement a "hermitian" multiplication of matrices a and b
 
procedure, public elpa_hermitian_multiply_d_ptr_f elpa_hermitian_multiply_d_ptr_f
 for real valued matrices: a**T * b
 
procedure, public elpa_hermitian_multiply_d_ptr_dc elpa_hermitian_multiply_d_ptr_dc
 for complex valued matrices: a**H * b
 
procedure, public elpa_hermitian_multiply_d_ptr_fc elpa_hermitian_multiply_d_ptr_fc
 
procedure, public elpa_cholesky_a_h_a_d elpa_cholesky_a_h_a_d
 public methods to implement the cholesky factorisation of real/complex double/single matrices
 
procedure, public elpa_cholesky_a_h_a_f elpa_cholesky_a_h_a_f
 
procedure, public elpa_cholesky_a_h_a_dc elpa_cholesky_a_h_a_dc
 
procedure, public elpa_cholesky_a_h_a_fc elpa_cholesky_a_h_a_fc
 
procedure, public elpa_cholesky_d_ptr_d elpa_cholesky_d_ptr_d
 public methods to implement the cholesky factorisation of real/complex double/single matrices
 
procedure, public elpa_cholesky_d_ptr_f elpa_cholesky_d_ptr_f
 
procedure, public elpa_cholesky_d_ptr_dc elpa_cholesky_d_ptr_dc
 
procedure, public elpa_cholesky_d_ptr_fc elpa_cholesky_d_ptr_fc
 
procedure, public elpa_invert_trm_a_h_a_d elpa_invert_trm_a_h_a_d
 public methods to implement the inversion of a triangular real/complex double/single matrix
 
procedure, public elpa_invert_trm_a_h_a_f elpa_invert_trm_a_h_a_f
 
procedure, public elpa_invert_trm_a_h_a_dc elpa_invert_trm_a_h_a_dc
 
procedure, public elpa_invert_trm_a_h_a_fc elpa_invert_trm_a_h_a_fc
 
procedure, public elpa_invert_trm_d_ptr_d elpa_invert_trm_d_ptr_d
 public methods to implement the inversion of a triangular real/complex double/single matrix
 
procedure, public elpa_invert_trm_d_ptr_f elpa_invert_trm_d_ptr_f
 
procedure, public elpa_invert_trm_d_ptr_dc elpa_invert_trm_d_ptr_dc
 
procedure, public elpa_invert_trm_d_ptr_fc elpa_invert_trm_d_ptr_fc
 
procedure, public elpa_solve_tridiagonal_d elpa_solve_tridiagonal_d
 public methods to implement the solve step for a real valued
 
procedure, public elpa_solve_tridiagonal_f elpa_solve_tridiagonal_f
 double/single tridiagonal matrix
 
procedure, public associate_int (self, name)
 public method to set some pointers
 
procedure, public print_settings (self, error)
 function to print all the parameters, that have been set Parameters
 
procedure, public store_settings (self, file_name, error)
 function to save all the parameters, that have been set Parameters
 
procedure, public load_settings (self, file_name, error)
 function to load all the parameters, which have been saved to a file Parameters
 
procedure, public autotune_setup (self, level, domain, error)
 function to setup the ELPA autotuning and create the autotune object Parameters
 
procedure, public autotune_set_api_version (self, api_version, error)
 procedure to set the api version used for ELPA autotuning Parameters
 
procedure, public autotune_step (self, tune_state, error)
 function to do the work an autotunig step Parameters
 
procedure, public autotune_step_worker (self, tune_state, solver, error)
 function to do the work of an autotunig step Parameters
 
procedure, public autotune_set_best (self, tune_state, error)
 function to set the up-to-now best options of the autotuning Parameters
 
procedure, public autotune_print_best (self, tune_state, error)
 function to print the up-to-now best options of the autotuning Parameters
 
procedure, public autotune_print_state (self, tune_state, error)
 function to print the state of the autotuning Parameters
 
procedure, public autotune_save_state (self, tune_state, file_name, error)
 function to save the state of the autotuning Parameters
 
procedure, public autotune_load_state (self, tune_state, file_name, error)
 function to load the state of the autotuning Parameters
 
- Public Member Functions inherited from elpa_abstract_impl::elpa_abstract_impl_t
procedure, public elpa_set_integer (self, name, value, error)
 private methods to implement the setting of an integer/float/double key/value pair
 
procedure, public elpa_set_float (self, name, value, error)
 internal subroutine to set a float key/value pair Parameters
 
procedure, public elpa_set_double (self, name, value, error)
 internal subroutine to set a double key/value pair Parameters
 
procedure, public elpa_get_integer (self, name, value, error)
 private methods to implement the querry of an integer/float/double key/value pair
 
procedure, public elpa_get_float (self, name, value, error)
 internal subroutine to get an float key/value pair Parameters
 
procedure, public elpa_get_double (self, name, value, error)
 internal subroutine to get an double key/value pair Parameters
 
- Public Member Functions inherited from elpa_api::elpa_t
procedure(elpa_setup_i), deferred, public setup (self)
 method to setup an ELPA object
 
procedure(elpa_destroy_i), deferred, public destroy (self, error)
 method to destroy an ELPA object
 
procedure(elpa_setup_gpu_i), deferred, public setup_gpu (self)
 method to setup the GPU usage
 
generic, public set elpa_set_integer
 
generic, public set elpa_set_float
 
generic, public set elpa_set_double
 
generic, public get elpa_get_integer
 
generic, public get elpa_get_float
 
generic, public get elpa_get_double
 
procedure(elpa_is_set_i), deferred, public is_set (self, name)
 method to check whether key/value is set
 
procedure(elpa_can_set_i), deferred, public can_set (self, name, value)
 method to check whether key/value can be set
 
procedure(elpa_creating_from_legacy_api_i), deferred, public creating_from_legacy_api (self)
 
procedure(elpa_get_time_i), deferred, public get_time (self, name1, name2, name3, name4, name5, name6)
 method to get the times from the timer object
 
procedure(elpa_print_times_i), deferred, public print_times (self, name1, name2, name3, name4)
 method to print the timings tree
 
procedure(elpa_timer_start_i), deferred, public timer_start (self, name)
 method to start a time measurement
 
procedure(elpa_timer_stop_i), deferred, public timer_stop (self, name)
 method to stop a time measurement
 
generic, public eigenvectors elpa_eigenvectors_a_h_a_d
 
generic, public eigenvectors elpa_eigenvectors_a_h_a_f
 
generic, public eigenvectors elpa_eigenvectors_a_h_a_dc
 
generic, public eigenvectors elpa_eigenvectors_a_h_a_fc
 
generic, public eigenvectors_double elpa_eigenvectors_a_h_a_d
 
generic, public eigenvectors_double elpa_eigenvectors_d_ptr_d
 GPU device pointers in the GPU version

 
generic, public eigenvectors_float elpa_eigenvectors_a_h_a_f
 
generic, public eigenvectors_float elpa_eigenvectors_d_ptr_f
 GPU device pointers in the GPU version.
 
generic, public eigenvectors_double_complex elpa_eigenvectors_a_h_a_dc
 
generic, public eigenvectors_double_complex elpa_eigenvectors_d_ptr_dc
 GPU device pointers in the GPU version.
 
generic, public eigenvectors_float_complex elpa_eigenvectors_a_h_a_fc
 
generic, public eigenvectors_float_complex elpa_eigenvectors_d_ptr_fc
 GPU device pointers in the GPU version.
 
generic, public eigenvalues elpa_eigenvalues_a_h_a_d
 
generic, public eigenvalues elpa_eigenvalues_a_h_a_f
 
generic, public eigenvalues elpa_eigenvalues_a_h_a_dc
 
generic, public eigenvalues elpa_eigenvalues_a_h_a_fc
 
generic, public eigenvalues_double elpa_eigenvalues_a_h_a_d
 
generic, public eigenvalues_double elpa_eigenvalues_d_ptr_d
 GPU device pointers in the GPU version.
 
generic, public eigenvalues_float elpa_eigenvalues_a_h_a_f
 
generic, public eigenvalues_float elpa_eigenvalues_d_ptr_f
 GPU device pointers in the GPU version.
 
generic, public eigenvalues_double_complex elpa_eigenvalues_a_h_a_dc
 
generic, public eigenvalues_double_complex elpa_eigenvalues_d_ptr_dc
 GPU device pointers in the GPU version.
 
generic, public eigenvalues_float_complex elpa_eigenvalues_a_h_a_fc
 
generic, public eigenvalues_float_complex elpa_eigenvalues_d_ptr_fc
 GPU device pointers in the GPU version.
 
generic, public skew_eigenvectors elpa_skew_eigenvectors_a_h_a_d
 
generic, public skew_eigenvectors elpa_skew_eigenvectors_a_h_a_f
 for symmetric real valued skew-symmetric matrices
 
generic, public skew_eigenvectors_double elpa_skew_eigenvectors_a_h_a_d
 
generic, public skew_eigenvectors_double elpa_skew_eigenvectors_d_ptr_d
 GPU device pointers in the GPU version.
 
generic, public skew_eigenvectors_float elpa_skew_eigenvectors_a_h_a_f
 
generic, public skew_eigenvectors_float elpa_skew_eigenvectors_d_ptr_f
 GPU device pointers in the GPU version.
 
generic, public skew_eigenvalues elpa_skew_eigenvalues_a_h_a_d
 
generic, public skew_eigenvalues elpa_skew_eigenvalues_a_h_a_f
 for symmetric real valued skew-symmetric matrices
 
generic, public skew_eigenvalues_double elpa_skew_eigenvalues_a_h_a_d
 
generic, public skew_eigenvalues_double elpa_skew_eigenvalues_d_ptr_d
 GPU device pointers in the GPU version.
 
generic, public skew_eigenvalues_float elpa_skew_eigenvalues_a_h_a_f
 
generic, public skew_eigenvalues_float elpa_skew_eigenvalues_d_ptr_f
 GPU device pointers in the GPU version.
 
 HAVE_SKEWSYMMETRIC have_skewsymmetric
 
generic, public generalized_eigenvectors elpa_generalized_eigenvectors_d
 
generic, public generalized_eigenvectors elpa_generalized_eigenvectors_f
 
generic, public generalized_eigenvectors elpa_generalized_eigenvectors_dc
 
generic, public generalized_eigenvectors elpa_generalized_eigenvectors_fc
 
generic, public generalized_eigenvalues elpa_generalized_eigenvalues_d
 
generic, public generalized_eigenvalues elpa_generalized_eigenvalues_f
 
generic, public generalized_eigenvalues elpa_generalized_eigenvalues_dc
 
generic, public generalized_eigenvalues elpa_generalized_eigenvalues_fc
 
generic, public hermitian_multiply elpa_hermitian_multiply_a_h_a_d
 
generic, public hermitian_multiply elpa_hermitian_multiply_a_h_a_dc
 
generic, public hermitian_multiply elpa_hermitian_multiply_a_h_a_f
 
generic, public hermitian_multiply elpa_hermitian_multiply_a_h_a_fc
 
generic, public hermitian_multiply_double elpa_hermitian_multiply_a_h_a_d
 
generic, public hermitian_multiply_double elpa_hermitian_multiply_d_ptr_d
 
generic, public hermitian_multiply_float elpa_hermitian_multiply_a_h_a_f
 
generic, public hermitian_multiply_float elpa_hermitian_multiply_d_ptr_f
 
generic, public hermitian_multiply_double_complex elpa_hermitian_multiply_a_h_a_dc
 
generic, public hermitian_multiply_double_complex elpa_hermitian_multiply_d_ptr_dc
 
generic, public hermitian_multiply_float_complex elpa_hermitian_multiply_a_h_a_fc
 
generic, public hermitian_multiply_float_complex elpa_hermitian_multiply_d_ptr_fc
 
generic, public cholesky elpa_cholesky_a_h_a_d
 
generic, public cholesky elpa_cholesky_a_h_a_f
 
generic, public cholesky elpa_cholesky_a_h_a_dc
 
generic, public cholesky elpa_cholesky_a_h_a_fc
 
generic, public cholesky_double elpa_cholesky_a_h_a_d
 
generic, public cholesky_double elpa_cholesky_d_ptr_d
 
generic, public cholesky_float elpa_cholesky_a_h_a_f
 
generic, public cholesky_float elpa_cholesky_d_ptr_f
 
generic, public cholesky_double_complex elpa_cholesky_a_h_a_dc
 
generic, public cholesky_double_complex elpa_cholesky_d_ptr_dc
 
generic, public cholesky_float_complex elpa_cholesky_a_h_a_fc
 
generic, public cholesky_float_complex elpa_cholesky_d_ptr_fc
 
generic, public invert_triangular elpa_invert_trm_a_h_a_d
 
generic, public invert_triangular elpa_invert_trm_a_h_a_f
 
generic, public invert_triangular elpa_invert_trm_a_h_a_dc
 
generic, public invert_triangular elpa_invert_trm_a_h_a_fc
 
generic, public invert_triangular_double elpa_invert_trm_a_h_a_d
 
generic, public invert_triangular_double elpa_invert_trm_d_ptr_d
 GPU device pointers in the GPU version

 
generic, public invert_triangular_float elpa_invert_trm_a_h_a_f
 
generic, public invert_triangular_float elpa_invert_trm_d_ptr_f
 GPU device pointers in the GPU version

 
generic, public invert_triangular_double_complex elpa_invert_trm_a_h_a_dc
 
generic, public invert_triangular_double_complex elpa_invert_trm_d_ptr_dc
 GPU device pointers in the GPU version

 
generic, public invert_triangular_float_complex elpa_invert_trm_a_h_a_fc
 
generic, public invert_triangular_float_complex elpa_invert_trm_d_ptr_fc
 GPU device pointers in the GPU version

 
generic, public solve_tridiagonal elpa_solve_tridiagonal_d
 
generic, public solve_tridiagonal elpa_solve_tridiagonal_f
 
procedure(print_settings_i), deferred, public print_settings (self, error)
 method to print all parameters
 
procedure(store_settings_i), deferred, public store_settings (self, file_name, error)
 method to save all parameters
 
procedure(load_settings_i), deferred, public load_settings (self, file_name, error)
 method to save all parameters
 
procedure(elpa_autotune_set_api_version_i), deferred, public autotune_set_api_version (self, api_version, error)
 method to prepare the ELPA autotuning
 
procedure(elpa_autotune_setup_i), deferred, public autotune_setup (self, level, domain, error)
 method to prepare the ELPA autotuning
 
procedure(elpa_autotune_step_i), deferred, public autotune_step (self, tune_state, error)
 method to do an autotuning step
 
procedure(elpa_autotune_set_best_i), deferred, public autotune_set_best (self, tune_state, error)
 method to set the best options
 
procedure(elpa_autotune_print_best_i), deferred, public autotune_print_best (self, tune_state, error)
 method to print the best options
 
procedure(elpa_autotune_print_state_i), deferred, public autotune_print_state (self, tune_state, error)
 method to print the state
 
procedure(elpa_autotune_save_state_i), deferred, public autotune_save_state (self, tune_state, file_name, error)
 method to save the state
 
procedure(elpa_autotune_load_state_i), deferred, public autotune_load_state (self, tune_state, file_name, error)
 method to load the state
 
procedure(elpa_set_integer_i), deferred, public elpa_set_integer (self, name, value, error)
 These method have to be public, in order to be overrideable in the extension types.
 
procedure(elpa_set_float_i), deferred, public elpa_set_float (self, name, value, error)
 
procedure(elpa_set_double_i), deferred, public elpa_set_double (self, name, value, error)
 
procedure(elpa_get_integer_i), deferred, public elpa_get_integer (self, name, value, error)
 
procedure(elpa_get_float_i), deferred, public elpa_get_float (self, name, value, error)
 
procedure(elpa_get_double_i), deferred, public elpa_get_double (self, name, value, error)
 

Public Attributes

integer from_legacy_api
 
- Public Attributes inherited from elpa_abstract_impl::elpa_abstract_impl_t
type(timer_t) timer
 
type(timer_t) autotune_timer
 
type(c_ptr) index = C_NULL_PTR
 
logical eigenvalues_only
 
type(elpa_gpu_setup_t) gpu_setup
 
type(elpa_mpi_setup_t) mpi_setup
 
- Public Attributes inherited from elpa_api::elpa_t
integer(kind=c_int), pointer, public na => NULL()
 
integer(kind=c_int), pointer, public nev => NULL()
 
integer(kind=c_int), pointer, public local_nrows => NULL()
 
integer(kind=c_int), pointer, public local_ncols => NULL()
 
integer(kind=c_int), pointer, public nblk => NULL()
 
integer(kind=c_int), public myglobalid
 

Private Member Functions

procedure, private elpa_transform_generalized_d elpa_transform_generalized_d
 
procedure, private elpa_transform_back_generalized_d elpa_transform_back_generalized_d
 
procedure, private elpa_transform_generalized_dc elpa_transform_generalized_dc
 
procedure, private elpa_transform_back_generalized_dc elpa_transform_back_generalized_dc
 
procedure, private elpa_transform_generalized_f elpa_transform_generalized_f
 
procedure, private elpa_transform_back_generalized_f elpa_transform_back_generalized_f
 
procedure, private elpa_transform_generalized_fc elpa_transform_generalized_fc
 
procedure, private elpa_transform_back_generalized_fc elpa_transform_back_generalized_fc
 
procedure, private construct_scalapack_descriptor (self, sc_desc, rectangular_for_ev)
 

Private Attributes

integer communicators_owned
 

Detailed Description

Definition of the extended elpa_impl_t type.

Member Function/Subroutine Documentation

◆ associate_int()

procedure, public elpa_impl::elpa_impl_t::associate_int ( class(elpa_impl_t) self,
character(*), intent(in) name )

public method to set some pointers

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
namestring: the name of the entry
Returns
value integer, pointer: the value for the entry

◆ autotune_load_state()

procedure, public elpa_impl::elpa_impl_t::autotune_load_state ( class(elpa_impl_t), intent(inout) self,
class(elpa_autotune_t), intent(in), target tune_state,
character(*), intent(in) file_name,
integer(kind=c_int), intent(out), optional error )

function to load the state of the autotuning Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
file_namestring, the name of the file from which to load the state
errorinteger, optional

◆ autotune_print_best()

procedure, public elpa_impl::elpa_impl_t::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

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
errorinteger, optional

◆ autotune_print_state()

procedure, public elpa_impl::elpa_impl_t::autotune_print_state ( 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 state of the autotuning Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
errorinteger, optional

◆ autotune_save_state()

procedure, public elpa_impl::elpa_impl_t::autotune_save_state ( class(elpa_impl_t), intent(inout) self,
class(elpa_autotune_t), intent(in), target tune_state,
character(*), intent(in) file_name,
integer(kind=c_int), intent(out), optional error )

function to save the state of the autotuning Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
file_namestring, the name of the file where to save the state
errorinteger, optional

◆ autotune_set_api_version()

procedure, public elpa_impl::elpa_impl_t::autotune_set_api_version ( class(elpa_impl_t), intent(inout), target self,
integer, intent(in) api_version,
integer(kind=c_int), optional error )

procedure to set the api version used for ELPA autotuning Parameters

Parameters
selfthe allocated ELPA object
api_versioninteger: the api_version
errorinteger: error code

◆ autotune_set_best()

procedure, public elpa_impl::elpa_impl_t::autotune_set_best ( class(elpa_impl_t), intent(inout) self,
class(elpa_autotune_t), intent(in), target tune_state,
integer(kind=ik), intent(out), optional error )

function to set the up-to-now best options of the autotuning Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
errorcode optional, integer

◆ autotune_setup()

procedure, public elpa_impl::elpa_impl_t::autotune_setup ( class(elpa_impl_t), intent(inout), target self,
integer, intent(in) level,
integer, intent(in) domain,
integer(kind=c_int), optional error )

function to setup the ELPA autotuning and create the autotune object Parameters

Parameters
selfthe allocated ELPA object
levelinteger: the "thoroughness" of the planed autotuning
domaininteger: the domain (real/complex) which should be tuned
Returns
tune_state the created autotuning object

◆ autotune_step()

procedure, public elpa_impl::elpa_impl_t::autotune_step ( class(elpa_impl_t), intent(inout) self,
class(elpa_autotune_t), intent(inout), target tune_state,
integer(kind=c_int), intent(out), optional error )

function to do the work an autotunig step Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
Returns
unfinished logical: describes the state of the autotuning (completed/uncompleted)

◆ autotune_step_worker()

procedure, public elpa_impl::elpa_impl_t::autotune_step_worker ( class(elpa_impl_t), intent(inout) self,
class(elpa_autotune_t), intent(inout), target tune_state,
integer(kind=c_int), intent(in) solver,
integer(kind=c_int), intent(out), optional error )

function to do the work of an autotunig step Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
tune_stateclass(elpa_autotune_t): the autotuning object
Returns
unfinished logical: describes the state of the autotuning (completed/uncompleted)

◆ can_set()

procedure, public elpa_impl::elpa_impl_t::can_set ( class(elpa_impl_t) self,
character(*), intent(in) name,
integer(kind=c_int), intent(in) value )

a method to check whether a key/value pair can be set : implemented in elpa_can_set

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
namestring, the key
valueinteger, value
Returns
error integer, error code

◆ construct_scalapack_descriptor()

procedure, private elpa_impl::elpa_impl_t::construct_scalapack_descriptor ( class(elpa_impl_t), intent(inout) self,
integer, dimension(sc_desc_len), intent(out) sc_desc,
logical, intent(in) rectangular_for_ev )
private

◆ creating_from_legacy_api()

procedure, public elpa_impl::elpa_impl_t::creating_from_legacy_api ( class(elpa_impl_t), intent(inout) self)

◆ destroy()

procedure, public elpa_impl::elpa_impl_t::destroy ( class(elpa_impl_t) self,
integer, intent(out), optional error )

a destroy method: implemented in elpa_destroy

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
errorinteger, optional error code

◆ elpa_cholesky_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_a_h_a_d
virtual

public methods to implement the cholesky factorisation of real/complex double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_cholesky_a_h_a_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_a_h_a_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_cholesky_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_cholesky_a_h_a_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_a_h_a_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_cholesky_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_d_ptr_d
virtual

public methods to implement the cholesky factorisation of real/complex double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_cholesky_d_ptr_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_d_ptr_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_cholesky_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_cholesky_d_ptr_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_cholesky_d_ptr_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_a_h_a_d
virtual

public methods to implement the solve step for real/complex double/single matrices; only the eigenvalues are computed

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_a_h_a_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_a_h_a_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_a_h_a_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_a_h_a_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_d_ptr_d
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_d_ptr_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_d_ptr_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvalues_d_ptr_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvalues_d_ptr_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_a_h_a_d
virtual

the implemenation methods

public methods to implement the solve step for real/complex double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_a_h_a_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_a_h_a_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_a_h_a_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_a_h_a_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_d_ptr_d
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_d_ptr_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_d_ptr_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_eigenvectors_d_ptr_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_eigenvectors_d_ptr_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvalues_d()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvalues_d
virtual

public methods to implement the solve step for generalized eigenproblem and real/complex double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvalues_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvalues_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvalues_f()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvalues_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvalues_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvalues_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvectors_d()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvectors_d
virtual

public methods to implement the solve step for generalized eigenproblem and real/complex double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvectors_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvectors_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvectors_f()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvectors_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_generalized_eigenvectors_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_generalized_eigenvectors_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_a_h_a_d
virtual

public methods to implement a "hermitian" multiplication of matrices a and b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_a_h_a_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_a_h_a_dc
virtual

for complex valued matrices: a**H * b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_a_h_a_f
virtual

for real valued matrices: a**T * b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_a_h_a_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_a_h_a_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_d_ptr_d
virtual

public methods to implement a "hermitian" multiplication of matrices a and b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_d_ptr_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_d_ptr_dc
virtual

for complex valued matrices: a**H * b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_d_ptr_f
virtual

for real valued matrices: a**T * b

Implements elpa_api::elpa_t.

◆ elpa_hermitian_multiply_d_ptr_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_hermitian_multiply_d_ptr_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_a_h_a_d
virtual

public methods to implement the inversion of a triangular real/complex double/single matrix

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_a_h_a_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_a_h_a_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_a_h_a_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_a_h_a_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_d_ptr_d
virtual

public methods to implement the inversion of a triangular real/complex double/single matrix

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_d_ptr_dc()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_d_ptr_dc
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_invert_trm_d_ptr_fc()

procedure, public elpa_impl::elpa_impl_t::elpa_invert_trm_d_ptr_fc
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvalues_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvalues_a_h_a_d
virtual

public methods to implement the solve step for real skew-symmetric double/single matrices; only the eigenvalues are computed

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvalues_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvalues_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvalues_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvalues_d_ptr_d
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvalues_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvalues_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvectors_a_h_a_d()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvectors_a_h_a_d
virtual

public methods to implement the solve step for real skew-symmetric double/single matrices

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvectors_a_h_a_f()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvectors_a_h_a_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvectors_d_ptr_d()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvectors_d_ptr_d
virtual

Implements elpa_api::elpa_t.

◆ elpa_skew_eigenvectors_d_ptr_f()

procedure, public elpa_impl::elpa_impl_t::elpa_skew_eigenvectors_d_ptr_f
virtual

Implements elpa_api::elpa_t.

◆ elpa_solve_tridiagonal_d()

procedure, public elpa_impl::elpa_impl_t::elpa_solve_tridiagonal_d
virtual

public methods to implement the solve step for a real valued

Implements elpa_api::elpa_t.

◆ elpa_solve_tridiagonal_f()

procedure, public elpa_impl::elpa_impl_t::elpa_solve_tridiagonal_f
virtual

double/single tridiagonal matrix

Implements elpa_api::elpa_t.

◆ elpa_transform_back_generalized_d()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_back_generalized_d
private

◆ elpa_transform_back_generalized_dc()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_back_generalized_dc
private

◆ elpa_transform_back_generalized_f()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_back_generalized_f
private

◆ elpa_transform_back_generalized_fc()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_back_generalized_fc
private

◆ elpa_transform_generalized_d()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_generalized_d
private

◆ elpa_transform_generalized_dc()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_generalized_dc
private

◆ elpa_transform_generalized_f()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_generalized_f
private

◆ elpa_transform_generalized_fc()

procedure, private elpa_impl::elpa_impl_t::elpa_transform_generalized_fc
private

◆ get_time()

procedure, public elpa_impl::elpa_impl_t::get_time ( class(elpa_impl_t), intent(in) self,
character(len=*), intent(in), optional name1,
character(len=*), intent(in), optional name2,
character(len=*), intent(in), optional name3,
character(len=*), intent(in), optional name4,
character(len=*), intent(in), optional name5,
character(len=*), intent(in), optional name6 )

function to querry the timing information at a certain level Parameters

Parameters
selfclass(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
Returns
s double: the timer metric for the region. Might be seconds, or any other supported metric

◆ is_set()

procedure, public elpa_impl::elpa_impl_t::is_set ( class(elpa_impl_t) self,
character(*), intent(in) name )

a method to check whether a key/value pair has been set : implemented in elpa_is_set

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
namestring, the key
Returns
state integer, the state of the key/value pair

◆ load_settings()

procedure, public elpa_impl::elpa_impl_t::load_settings ( class(elpa_impl_t), intent(inout) self,
character(*), intent(in) file_name,
integer(kind=c_int), intent(out), optional error )

function to load all the parameters, which have been saved to a file Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
file_namestring, the name of the file from which to load the parameters
errorinteger, optional

◆ print_settings()

procedure, public elpa_impl::elpa_impl_t::print_settings ( class(elpa_impl_t), intent(inout) self,
integer(kind=c_int), intent(out), optional error )

function to print all the parameters, that have been set Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
erroroptional, integer

◆ print_times()

procedure, public elpa_impl::elpa_impl_t::print_times ( class(elpa_impl_t), intent(in) self,
character(len=*), intent(in), optional name1,
character(len=*), intent(in), optional name2,
character(len=*), intent(in), optional name3,
character(len=*), intent(in), optional name4 )

function to print the timing tree below at a certain level Parameters

Parameters
selfclass(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

◆ setup()

procedure, public elpa_impl::elpa_impl_t::setup ( class(elpa_impl_t), intent(inout) self)

methods available with the elpa_impl_t type

the puplic methods a setup method: implemented in elpa_setup

◆ setup_gpu()

procedure, public elpa_impl::elpa_impl_t::setup_gpu ( class(elpa_impl_t), intent(inout) self)

setup the GPU usage

Parameters
selfclass(elpa_impl_t), the allocated ELPA object
Returns
error integer, the error code

◆ store_settings()

procedure, public elpa_impl::elpa_impl_t::store_settings ( class(elpa_impl_t), intent(inout) self,
character(*), intent(in) file_name,
integer(kind=c_int), intent(out), optional error )

function to save all the parameters, that have been set Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
file_namestring, the name of the file where to save the parameters
errorinteger, optional

◆ timer_start()

procedure, public elpa_impl::elpa_impl_t::timer_start ( class(elpa_impl_t), intent(inout) self,
character(len=*), intent(in) name )

function to start the timing of a code region Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
namestring: a chosen identifier name for the code region

◆ timer_stop()

procedure, public elpa_impl::elpa_impl_t::timer_stop ( class(elpa_impl_t), intent(inout) self,
character(len=*), intent(in) name )

function to stop the timing of a code region Parameters

Parameters
selfclass(elpa_impl_t) the allocated ELPA object
namestring: identifier name for the code region to stop

Member Data Documentation

◆ communicators_owned

integer elpa_impl::elpa_impl_t::communicators_owned
private

◆ from_legacy_api

integer elpa_impl::elpa_impl_t::from_legacy_api

The documentation for this type was generated from the following file: