![]() |
(git:b77b4be)
|
generate the tasks lists used by collocate and integrate routines More...
Functions/Subroutines | |
subroutine, public | generate_qs_task_list (ks_env, task_list, reorder_rs_grid_ranks, skip_load_balance_distributed, soft_valid, basis_type, pw_env_external, sab_orb_external) |
... | |
subroutine, public | task_list_inner_loop (tasks, ntasks, curr_tasks, rs_descs, dft_control, cube_info, gridlevel_info, cindex, iatom, jatom, rpgfa, rpgfb, zeta, zetb, kind_radius_b, set_radius_a, set_radius_b, ra, rab, la_max, la_min, lb_max, lb_min, npgfa, npgfb, nseta, nsetb) |
... | |
subroutine, public | distribute_tasks (rs_descs, ntasks, natoms, tasks, atom_pair_send, atom_pair_recv, symmetric, reorder_rs_grid_ranks, skip_load_balance_distributed) |
Assembles tasks to be performed on local grid. | |
subroutine, public | rs_distribute_matrix (rs_descs, pmats, atom_pair_send, atom_pair_recv, nimages, scatter, hmats) |
redistributes the matrix so that it can be used in realspace operations i.e. according to the task lists for collocate and integrate. This routine can become a bottleneck in large calculations. | |
subroutine, public | rs_scatter_matrices (src_matrices, dest_buffer, task_list, group) |
Scatters dbcsr matrix blocks and receives them into a buffer as needed before collocation. | |
subroutine, public | rs_gather_matrices (src_buffer, dest_matrices, task_list, group) |
Gather the dbcsr matrix blocks and receives them into a buffer as needed after integration. | |
subroutine, public | rs_copy_to_buffer (src_matrices, dest_buffer, task_list) |
Copies the DBCSR blocks into buffer, replaces rs_scatter_matrix for non-distributed grids. | |
subroutine, public | rs_copy_to_matrices (src_buffer, dest_matrices, task_list) |
Copies from buffer into DBCSR matrics, replaces rs_gather_matrix for non-distributed grids. | |
generate the tasks lists used by collocate and integrate routines
subroutine, public task_list_methods::generate_qs_task_list | ( | type(qs_ks_env_type), pointer | ks_env, |
type(task_list_type), pointer | task_list, | ||
logical, intent(in) | reorder_rs_grid_ranks, | ||
logical, intent(in) | skip_load_balance_distributed, | ||
logical, intent(in), optional | soft_valid, | ||
character(len=*), intent(in), optional | basis_type, | ||
type(pw_env_type), optional, pointer | pw_env_external, | ||
type(neighbor_list_set_p_type), dimension(:), optional, pointer | sab_orb_external | ||
) |
...
ks_env | ... |
task_list | ... |
reorder_rs_grid_ranks | Flag that indicates if this routine should or should not overwrite the rs descriptor (see comment below) |
skip_load_balance_distributed | ... |
soft_valid | ... |
basis_type | ... |
pw_env_external | ... |
sab_orb_external | ... |
Definition at line 116 of file task_list_methods.F.
subroutine, public task_list_methods::task_list_inner_loop | ( | type(task_type), dimension(:), pointer | tasks, |
integer | ntasks, | ||
integer | curr_tasks, | ||
type(realspace_grid_desc_p_type), dimension(:), pointer | rs_descs, | ||
type(dft_control_type), pointer | dft_control, | ||
type(cube_info_type), dimension(:), pointer | cube_info, | ||
type(gridlevel_info_type), pointer | gridlevel_info, | ||
integer | cindex, | ||
integer | iatom, | ||
integer | jatom, | ||
real(kind=dp), dimension(:, :), pointer | rpgfa, | ||
real(kind=dp), dimension(:, :), pointer | rpgfb, | ||
real(kind=dp), dimension(:, :), pointer | zeta, | ||
real(kind=dp), dimension(:, :), pointer | zetb, | ||
real(kind=dp) | kind_radius_b, | ||
real(kind=dp), dimension(:), pointer | set_radius_a, | ||
real(kind=dp), dimension(:), pointer | set_radius_b, | ||
real(kind=dp), dimension(3) | ra, | ||
real(kind=dp), dimension(3) | rab, | ||
integer, dimension(:), pointer | la_max, | ||
integer, dimension(:), pointer | la_min, | ||
integer, dimension(:), pointer | lb_max, | ||
integer, dimension(:), pointer | lb_min, | ||
integer, dimension(:), pointer | npgfa, | ||
integer, dimension(:), pointer | npgfb, | ||
integer | nseta, | ||
integer | nsetb | ||
) |
...
tasks | ... |
ntasks | ... |
curr_tasks | ... |
rs_descs | ... |
dft_control | ... |
cube_info | ... |
gridlevel_info | ... |
cindex | ... |
iatom | ... |
jatom | ... |
rpgfa | ... |
rpgfb | ... |
zeta | ... |
zetb | ... |
kind_radius_b | ... |
set_radius_a | ... |
set_radius_b | ... |
ra | ... |
rab | ... |
la_max | ... |
la_min | ... |
lb_max | ... |
lb_min | ... |
npgfa | ... |
npgfb | ... |
nseta | ... |
nsetb | ... |
Definition at line 660 of file task_list_methods.F.
subroutine, public task_list_methods::distribute_tasks | ( | type(realspace_grid_desc_p_type), dimension(:), pointer | rs_descs, |
integer | ntasks, | ||
integer | natoms, | ||
type(task_type), dimension(:), pointer | tasks, | ||
type(atom_pair_type), dimension(:), pointer | atom_pair_send, | ||
type(atom_pair_type), dimension(:), pointer | atom_pair_recv, | ||
logical, intent(in) | symmetric, | ||
logical, intent(in) | reorder_rs_grid_ranks, | ||
logical, intent(in) | skip_load_balance_distributed | ||
) |
Assembles tasks to be performed on local grid.
rs_descs | the grids |
ntasks | Number of tasks for local processing |
natoms | ... |
nimages | ... |
tasks | the task set generated on this processor |
rval | ... |
atom_pair_send | ... |
atom_pair_recv | ... |
symmetric | ... |
reorder_rs_grid_ranks | ... |
skip_load_balance_distributed | ... |
Definition at line 1898 of file task_list_methods.F.
subroutine, public task_list_methods::rs_distribute_matrix | ( | type(realspace_grid_desc_p_type), dimension(:), pointer | rs_descs, |
type(dbcsr_p_type), dimension(:), pointer | pmats, | ||
type(atom_pair_type), dimension(:), pointer | atom_pair_send, | ||
type(atom_pair_type), dimension(:), pointer | atom_pair_recv, | ||
integer | nimages, | ||
logical | scatter, | ||
type(dbcsr_p_type), dimension(:), optional, pointer | hmats | ||
) |
redistributes the matrix so that it can be used in realspace operations i.e. according to the task lists for collocate and integrate. This routine can become a bottleneck in large calculations.
rs_descs | ... |
pmats | ... |
atom_pair_send | ... |
atom_pair_recv | ... |
natoms | ... |
nimages | ... |
scatter | ... |
hmats | ... |
Definition at line 2185 of file task_list_methods.F.
subroutine, public task_list_methods::rs_scatter_matrices | ( | type(dbcsr_p_type), dimension(:), intent(in) | src_matrices, |
type(offload_buffer_type), intent(inout) | dest_buffer, | ||
type(task_list_type), intent(in) | task_list, | ||
type(mp_comm_type), intent(in) | group | ||
) |
Scatters dbcsr matrix blocks and receives them into a buffer as needed before collocation.
Definition at line 2524 of file task_list_methods.F.
subroutine, public task_list_methods::rs_gather_matrices | ( | type(offload_buffer_type), intent(in) | src_buffer, |
type(dbcsr_p_type), dimension(:), intent(inout) | dest_matrices, | ||
type(task_list_type), intent(in) | task_list, | ||
type(mp_comm_type), intent(in) | group | ||
) |
Gather the dbcsr matrix blocks and receives them into a buffer as needed after integration.
Definition at line 2559 of file task_list_methods.F.
subroutine, public task_list_methods::rs_copy_to_buffer | ( | type(dbcsr_p_type), dimension(:), intent(in) | src_matrices, |
type(offload_buffer_type), intent(inout) | dest_buffer, | ||
type(task_list_type), intent(in) | task_list | ||
) |
Copies the DBCSR blocks into buffer, replaces rs_scatter_matrix for non-distributed grids.
Definition at line 2595 of file task_list_methods.F.
subroutine, public task_list_methods::rs_copy_to_matrices | ( | type(offload_buffer_type), intent(in) | src_buffer, |
type(dbcsr_p_type), dimension(:), intent(inout) | dest_matrices, | ||
type(task_list_type), intent(in) | task_list | ||
) |
Copies from buffer into DBCSR matrics, replaces rs_gather_matrix for non-distributed grids.
Definition at line 2611 of file task_list_methods.F.