|
MPI-SCATCI
2.0
An MPI version of SCATCI
|
Diagonalizer type using ELPA backend. More...
Data Types | |
| type | elpadiagonalizer |
| Diagonalizer class. More... | |
Functions/Subroutines | |
| subroutine | initialize_elpa |
| Initialize the ELPA library. More... | |
| subroutine | diagonalize_backend_elpa (this, matrix_elements, num_eigenpair, z_mat, w, all_procs, option, integrals) |
| Diagonalization kernel. More... | |
| subroutine | elpa_assert (sub, msg, err) |
| Check ELPA error code. More... | |
Variables | |
| integer, parameter | elpaint = c_int |
Diagonalizer type using ELPA backend.
This module will be built only if ELPA (and ScaLAPACK) is available.
| subroutine elpadiagonalizer_module::diagonalize_backend_elpa | ( | class(elpadiagonalizer) | this, |
| class(scalapackmatrix), intent(in) | matrix_elements, | ||
| integer, intent(in) | num_eigenpair, | ||
| real(wp), dimension(:,:), intent(inout), allocatable | z_mat, | ||
| real(wp), dimension(:), intent(inout), allocatable | w, | ||
| logical, intent(in) | all_procs, | ||
| type(options), intent(in) | option, | ||
| class(baseintegral), intent(in) | integrals | ||
| ) |
Diagonalization kernel.
Perform the diagonalization of a symmetric cyclically block-distributed ScaLAPACK matrix. Use the ELPA library. It is assumed that the library has been initialized prior to this call. The eigenvectors will be stored in z_mat, eigenvalues in w, both of which will be allocated by this subroutine.
Definition at line 92 of file ELPADiagonalizer_module.f90.

| subroutine elpadiagonalizer_module::elpa_assert | ( | character(len=*), intent(in) | sub, |
| character(len=*), intent(in) | msg, | ||
| integer(elpaint), intent(in) | err | ||
| ) |
Check ELPA error code.
Verify that the given ELPA error code is equal to ELPA_OK. If not, print the given error message and terminate the program.
Definition at line 168 of file ELPADiagonalizer_module.f90.

| subroutine elpadiagonalizer_module::initialize_elpa |
Initialize the ELPA library.
Set upt the ELPA library for use. This needs to be called once at the beginning of the program. Initialization of the library selects a specific version of the API to use when communicating with the library. Currently, the API of version 20181112 is used.
Definition at line 72 of file ELPADiagonalizer_module.f90.


| integer, parameter elpadiagonalizer_module::elpaint = c_int |
Definition at line 47 of file ELPADiagonalizer_module.f90.