![]() |
(git:0e87843)
|
Redistribution of DBCSR blocks and distributed matrix slices. More...
Functions/Subroutines | |
| subroutine, public | cp_dbcsr_to_subgroups (mat_global, mat_local, para_env, num_pe_sub, block_row_ranges) |
| ... | |
| subroutine, public | cp_dbcsr_from_subgroups (mat_local, mat_global, para_env, row_mapping, copy_only) |
| Sum subgroup blocks into the global layout, or copy mapped blocks. | |
| subroutine, public | cp_array_to_dbcsr_slices (array, nrows, ncols, para_env_sub, first_row, last_row, template, matrices, matrix_ptrs) |
| Consume a distributed flattened array and create a DBCSR matrix per slice. | |
Redistribution of DBCSR blocks and distributed matrix slices.
| subroutine, public cp_dbcsr_redistribution::cp_dbcsr_to_subgroups | ( | type(dbcsr_type) | mat_global, |
| type(dbcsr_type) | mat_local, | ||
| type(mp_para_env_type), intent(in) | para_env, | ||
| integer | num_pe_sub, | ||
| integer, dimension(:, :), optional | block_row_ranges ) |
...
| mat_global | ... |
| mat_local | ... |
| para_env | ... |
| num_pe_sub | ... |
| block_row_ranges | ... |
Definition at line 53 of file cp_dbcsr_redistribution.F.
| subroutine, public cp_dbcsr_redistribution::cp_dbcsr_from_subgroups | ( | type(dbcsr_type) | mat_local, |
| type(dbcsr_type) | mat_global, | ||
| type(mp_para_env_type), intent(in) | para_env, | ||
| integer, dimension(:), intent(in), optional | row_mapping, | ||
| logical, intent(in), optional | copy_only ) |
Sum subgroup blocks into the global layout, or copy mapped blocks.
| mat_local | ... |
| mat_global | ... |
| para_env | communicator covering all source and destination ranks |
| row_mapping | optional source-to-destination block-row permutation |
| copy_only | copy without summation, filtering, or consuming the source (default: false) |
Definition at line 213 of file cp_dbcsr_redistribution.F.
| subroutine, public cp_dbcsr_redistribution::cp_array_to_dbcsr_slices | ( | real(kind=dp), dimension(:, :), intent(inout), allocatable | array, |
| integer, intent(in) | nrows, | ||
| integer, intent(in) | ncols, | ||
| type(mp_para_env_type), intent(in), pointer | para_env_sub, | ||
| integer, intent(in) | first_row, | ||
| integer, intent(in) | last_row, | ||
| type(dbcsr_type), intent(inout) | template, | ||
| type(dbcsr_type), dimension(:), intent(inout), optional, target | matrices, | ||
| type(dbcsr_p_type), dimension(:), intent(inout), optional | matrix_ptrs ) |
Consume a distributed flattened array and create a DBCSR matrix per slice.
| array | local flattened rows; all ranks have the same number of slices; deallocated on return |
| nrows | number of rows in each output matrix |
| ncols | number of columns in each output matrix |
| para_env_sub | communicator for the output matrices |
| first_row | first flattened row held locally |
| last_row | last flattened row held locally |
| template | DBCSR template defining output distribution and block sizes |
| matrices | preallocated array of output matrices |
| matrix_ptrs | preallocated array of output pointers; pointees are allocated here |
Definition at line 376 of file cp_dbcsr_redistribution.F.