![]() |
(git:8dd14c0)
|
generate the tasks lists used by collocate and integrate routines More...
Functions/Subroutines | |
| subroutine, public | generate_qs_task_list (ks_env, task_list, basis_type, reorder_rs_grid_ranks, skip_load_balance_distributed, 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, | ||
| character(len=*), intent(in) | basis_type, | ||
| logical, intent(in) | reorder_rs_grid_ranks, | ||
| logical, intent(in) | skip_load_balance_distributed, | ||
| 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 | ... |
| basis_type | ... |
| 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 | ... |
| pw_env_external | ... |
| sab_orb_external | ... |
Definition at line 115 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 643 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 1881 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 2168 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 2507 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 2542 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 2578 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 2594 of file task_list_methods.F.