![]() |
(git:b77b4be)
|
Functions/Subroutines | |
subroutine, public | fb_atmatrix_calc_size (dbcsr_mat, atomic_halo, nrows, ncols, blk_row_start, blk_col_start) |
Calculates the atomic matrix size from a given DBCSR matrix and atomic halo. It also calculates the first row (col) or the row (col) atomic blocks in the atomic matrix. | |
subroutine, public | fb_atmatrix_construct (dbcsr_mat, atomic_halo, para_env, atomic_matrix, blk_row_start, blk_col_start) |
Constructs atomic matrix for filter basis method from a given DBCSR matrix and a set of atomic send and recv pairs corresponding to the matrix blocks that needs to be included in the atomic matrix. This version is for when we do MPI communications at every step, for each atomic matrix. | |
subroutine, public | fb_atmatrix_construct_2 (matrix_storage, atomic_halo, atomic_matrix, blk_row_start, blk_col_start) |
Constructs atomic matrix for filter basis method from a given DBCSR matrix and a set of atomic send and recv pairs corresponding to the matrix blocks that needs to be included in the atomic matrix. This version is for when we do MPI communications collectively in one go at the beginning. | |
subroutine, public | fb_atmatrix_generate_com_pairs_2 (dbcsr_mat, atomic_halos, para_env, atom_pairs_send, atom_pairs_recv) |
generate list of blocks (atom pairs) of a DBCSR matrix to be sent and received in order to construct all local atomic matrices corresponding to the atomic halos. This version is for the case when we do MPI communications collectively in one go at the beginning. | |
subroutine, public qs_fb_atomic_matrix_methods::fb_atmatrix_calc_size | ( | type(dbcsr_type), pointer | dbcsr_mat, |
type(fb_atomic_halo_obj), intent(in) | atomic_halo, | ||
integer, intent(out) | nrows, | ||
integer, intent(out) | ncols, | ||
integer, dimension(:), intent(out) | blk_row_start, | ||
integer, dimension(:), intent(out) | blk_col_start | ||
) |
Calculates the atomic matrix size from a given DBCSR matrix and atomic halo. It also calculates the first row (col) or the row (col) atomic blocks in the atomic matrix.
dbcsr_mat | : pointer to the DBCSR matrix the atomic matrix is to be constructed from |
atomic_halo | : the atomic halo used for defining the atomic matrix from the DBCSR matrix |
nrows | : outputs total number of rows in the atomic matrix |
ncols | : outputs total number of cols in the atomic matrix |
blk_row_start | : first row in each atomic blk row in the atomic matrix |
blk_col_start | : first col in each atomic blk col in the atomic matrix |
Definition at line 65 of file qs_fb_atomic_matrix_methods.F.
subroutine, public qs_fb_atomic_matrix_methods::fb_atmatrix_construct | ( | type(dbcsr_type), pointer | dbcsr_mat, |
type(fb_atomic_halo_obj), intent(in) | atomic_halo, | ||
type(mp_para_env_type), pointer | para_env, | ||
real(kind=dp), dimension(:, :), intent(out) | atomic_matrix, | ||
integer, dimension(:), intent(in) | blk_row_start, | ||
integer, dimension(:), intent(in) | blk_col_start | ||
) |
Constructs atomic matrix for filter basis method from a given DBCSR matrix and a set of atomic send and recv pairs corresponding to the matrix blocks that needs to be included in the atomic matrix. This version is for when we do MPI communications at every step, for each atomic matrix.
dbcsr_mat | : the DBCSR matrix the atomic matrix is to be constructed from |
atomic_halo | : the atomic halo conrresponding to this atomic matrix |
para_env | : cp2k parallel environment |
atomic_matrix | : the atomic matrix to be constructed, it should have already been allocated prior entering this subroutine |
blk_row_start | : first row in each atomic blk row in the atomic matrix |
blk_col_start | : first col in each atomic blk col in the atomic matrix |
Definition at line 125 of file qs_fb_atomic_matrix_methods.F.
subroutine, public qs_fb_atomic_matrix_methods::fb_atmatrix_construct_2 | ( | type(fb_matrix_data_obj), intent(in) | matrix_storage, |
type(fb_atomic_halo_obj), intent(in) | atomic_halo, | ||
real(kind=dp), dimension(:, :), intent(out) | atomic_matrix, | ||
integer, dimension(:), intent(in) | blk_row_start, | ||
integer, dimension(:), intent(in) | blk_col_start | ||
) |
Constructs atomic matrix for filter basis method from a given DBCSR matrix and a set of atomic send and recv pairs corresponding to the matrix blocks that needs to be included in the atomic matrix. This version is for when we do MPI communications collectively in one go at the beginning.
matrix_storage | : data storing the relevant DBCSR matrix blocks needed for constructing the atomic matrix |
atomic_halo | : the atomic halo conrresponding to this atomic matrix |
atomic_matrix | : the atomic matrix to be constructed, it should have already been allocated prior entering this subroutine |
blk_row_start | : first row in each atomic blk row in the atomic matrix |
blk_col_start | : first col in each atomic blk col in the atomic matrix |
Definition at line 336 of file qs_fb_atomic_matrix_methods.F.
subroutine, public qs_fb_atomic_matrix_methods::fb_atmatrix_generate_com_pairs_2 | ( | type(dbcsr_type), pointer | dbcsr_mat, |
type(fb_atomic_halo_list_obj), intent(in) | atomic_halos, | ||
type(mp_para_env_type), pointer | para_env, | ||
type(fb_com_atom_pairs_obj), intent(inout) | atom_pairs_send, | ||
type(fb_com_atom_pairs_obj), intent(inout) | atom_pairs_recv | ||
) |
generate list of blocks (atom pairs) of a DBCSR matrix to be sent and received in order to construct all local atomic matrices corresponding to the atomic halos. This version is for the case when we do MPI communications collectively in one go at the beginning.
dbcsr_mat | : The DBCSR matrix the atom blocks come from |
atomic_halos | : the list of all atomic halos local to the process |
para_env | : cp2k parallel environment |
atom_pairs_send | : list of atom blocks from local DBCSR matrix data to be sent |
atom_pairs_recv | : list of atom blocks from remote DBCSR matrix data to be recveived |
Definition at line 621 of file qs_fb_atomic_matrix_methods.F.