(git:cd2a8c4)
Loading...
Searching...
No Matches
cp_fm_diag_utils.F File Reference

Go to the source code of this file.

Data Types

type  cp_fm_diag_utils::cp_fm_redistribute_info

Modules

module  cp_fm_diag_utils
 Auxiliary tools to redistribute cp_fm_type and cp_cfm_type matrices before and after diagonalization. Heuristics are used to determine the optimal number of CPUs for diagonalization and the input matrices are redistributed if necessary.

Functions/Subroutines

subroutine, public cp_fm_diag_utils::cp_fm_redistribute_init (a, x, should_print, elpa_force_redistribute)
 Initializes the parameters that determine how to calculate the optimal number of CPUs for diagonalizing a matrix. The parameters are read from the GLOBAL input section.
subroutine, public cp_fm_diag_utils::cp_fm_redistribute_start (matrix, eigenvectors, matrix_new, eigenvectors_new, caller_is_elpa, redist_info)
 Determines the optimal number of CPUs for matrix diagonalization and redistributes the input matrices if necessary.
subroutine, public cp_fm_diag_utils::cp_fm_redistribute_end (matrix, eigenvectors, eig, matrix_new, eigenvectors_new)
 Redistributes eigenvectors and eigenvalues back to the original communicator group.
subroutine, public cp_fm_diag_utils::cp_cfm_redistribute_start (matrix, eigenvectors, matrix_new, eigenvectors_new, caller_is_elpa, redist_info)
 Determines the optimal number of CPUs for matrix diagonalization and redistributes the input matrices if necessary.
subroutine, public cp_fm_diag_utils::cp_cfm_redistribute_end (matrix, eigenvectors, eig, matrix_new, eigenvectors_new)
 Redistributes eigenvectors and eigenvalues back to the original communicator group.