![]() |
(git:fc9bb57)
|
Wrapper for ELPA (complex matrices, i.e. cp_cfm_type) More...
Functions/Subroutines | |
| subroutine, public | set_elpa_c_kernel (requested_kernel) |
| Sets the active ELPA kernel for complex matrices. | |
| subroutine, public | check_elpa_c_kernel_correctness (para_env) |
| One-time runtime correctness check for ELPA complex BLOCK2 kernels. A small deterministic eigenproblem is solved on a single process with the same production routine used for the actual diagonalizations, and the eigenpair residual as well as the eigenvector orthogonality are verified. This guards against mis-compiled kernels (GCC 15.2 regression, marekandreas/elpa#77). If the check fails, a module flag is set such that cp_cfm_heevd falls back to ScaLAPACK. | |
| logical function, public | is_elpa_c_broken () |
| Returns .TRUE. if the runtime check detected broken BLOCK2 kernels. | |
| subroutine, public | cp_cfm_diag_elpa (matrix, eigenvectors, eigenvalues) |
| Driver routine to diagonalize a CFM matrix with the ELPA library. | |
Variables | |
| integer, dimension(1), parameter, public | elpa_c_kernel_ids = [-1] |
| character(len=14), dimension(1), parameter, public | elpa_c_kernel_names = ["AUTO"] |
| character(len=44), dimension(1), parameter, public | elpa_c_kernel_descriptions = ["Automatically selected kernel"] |
Wrapper for ELPA (complex matrices, i.e. cp_cfm_type)
| subroutine, public cp_cfm_elpa::set_elpa_c_kernel | ( | integer, intent(in) | requested_kernel | ) |
Sets the active ELPA kernel for complex matrices.
| requested_kernel | one of the elpa_c_kernel_ids |
Definition at line 190 of file cp_cfm_elpa.F.
| subroutine, public cp_cfm_elpa::check_elpa_c_kernel_correctness | ( | type(mp_para_env_type), intent(in) | para_env | ) |
One-time runtime correctness check for ELPA complex BLOCK2 kernels. A small deterministic eigenproblem is solved on a single process with the same production routine used for the actual diagonalizations, and the eigenpair residual as well as the eigenvector orthogonality are verified. This guards against mis-compiled kernels (GCC 15.2 regression, marekandreas/elpa#77). If the check fails, a module flag is set such that cp_cfm_heevd falls back to ScaLAPACK.
| para_env | communicator of the run, used to agree on the check result |
Definition at line 263 of file cp_cfm_elpa.F.
| logical function, public cp_cfm_elpa::is_elpa_c_broken |
Returns .TRUE. if the runtime check detected broken BLOCK2 kernels.
Definition at line 378 of file cp_cfm_elpa.F.
| subroutine, public cp_cfm_elpa::cp_cfm_diag_elpa | ( | type(cp_cfm_type), intent(in) | matrix, |
| type(cp_cfm_type), intent(in) | eigenvectors, | ||
| real(kind=dp), dimension(:), intent(out) | eigenvalues | ||
| ) |
Driver routine to diagonalize a CFM matrix with the ELPA library.
| matrix | the matrix that is diagonalized |
| eigenvectors | eigenvectors of the input matrix |
| eigenvalues | eigenvalues of the input matrix |
Definition at line 390 of file cp_cfm_elpa.F.
| integer, dimension(1), parameter, public cp_cfm_elpa::elpa_c_kernel_ids = [-1] |
Definition at line 141 of file cp_cfm_elpa.F.
| character(len=14), dimension(1), parameter, public cp_cfm_elpa::elpa_c_kernel_names = ["AUTO"] |
Definition at line 142 of file cp_cfm_elpa.F.
| character(len=44), dimension(1), parameter, public cp_cfm_elpa::elpa_c_kernel_descriptions = ["Automatically selected kernel"] |
Definition at line 143 of file cp_cfm_elpa.F.