Documentation for module task_list_methods

generate the tasks lists used by collocate and integrate routines

source: task_list_methods.F
Loading...

public Subroutines/Functions:

Assembles tasks to be performed on local grid
...
...
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.
...

SUBROUTINEdistribute_tasks(rs_descs, ntasks, natoms, maxset, maxpgf, nimages, tasks, rval, atom_pair_send, atom_pair_recv, symmetric, reorder_rs_grid_ranks, skip_load_balance_distributed)

Assembles tasks to be performed on local grid

Arguments:
POINTER
:: rs_descs(:) the grids
INTEGER
:: ntasks Number of tasks for local processing
INTEGER
:: natoms ...
INTEGER
:: maxset ...
INTEGER
:: maxpgf ...
INTEGER
:: nimages ...
INTEGER(int_8),
POINTER
:: tasks(:,:) the task set generated on this processor
REAL(dp),
POINTER
:: rval(:,:) ...
INTEGER(int_8),
POINTER
:: atom_pair_send(:) ...
INTEGER(int_8),
POINTER
:: atom_pair_recv(:) ...
LOGICAL,
INTENT(in)
:: symmetric ...
LOGICAL,
INTENT(in)
:: reorder_rs_grid_ranks ...
LOGICAL,
INTENT(in)
:: skip_load_balance_distributed ...

SUBROUTINEgenerate_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)

...

Arguments:
POINTER
:: ks_env ...
POINTER
:: task_list ...
LOGICAL,
INTENT(in)
:: reorder_rs_grid_ranks Flag that indicates if this routine should or should not overwrite the rs descriptor (see comment below)
LOGICAL,
INTENT(in)
:: skip_load_balance_distributed ...
LOGICAL,
INTENT(in),
OPTIONAL
:: soft_valid ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: basis_type ...
OPTIONAL, POINTER
:: pw_env_external ...
OPTIONAL, POINTER
:: sab_orb_external(:) ...

SUBROUTINEint2pair(res, ilevel, image, iatom, jatom, iset, jset, ipgf, jpgf, nimages, natom, maxset, maxpgf)

...

Arguments:
INTEGER(int_8),
INTENT(in)
:: res ...
INTEGER,
INTENT(out)
:: ilevel ...
INTEGER,
INTENT(out)
:: image ...
INTEGER,
INTENT(out)
:: iatom ...
INTEGER,
INTENT(out)
:: jatom ...
INTEGER,
INTENT(out)
:: iset ...
INTEGER,
INTENT(out)
:: jset ...
INTEGER,
INTENT(out)
:: ipgf ...
INTEGER,
INTENT(out)
:: jpgf ...
INTEGER,
INTENT(in)
:: nimages ...
INTEGER,
INTENT(in)
:: natom ...
INTEGER,
INTENT(in)
:: maxset ...
INTEGER,
INTENT(in)
:: maxpgf ...

SUBROUTINErs_distribute_matrix(rs_descs, pmats, atom_pair_send, atom_pair_recv, natoms, 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.

Arguments:
POINTER
:: rs_descs(:) ...
POINTER
:: pmats(:) ...
INTEGER(int_8),
POINTER
:: atom_pair_send(:) ...
INTEGER(int_8),
POINTER
:: atom_pair_recv(:) ...
INTEGER
:: natoms ...
INTEGER
:: nimages ...
LOGICAL
:: scatter ...
OPTIONAL, POINTER
:: hmats(:) ...

SUBROUTINEtask_list_inner_loop(tasks, dist_ab, 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, maxpgf, maxset, natoms, nimages, nseta, nsetb)

...

Arguments:
INTEGER(int_8),
POINTER
:: tasks(:,:) ...
REAL(dp),
POINTER
:: dist_ab(:,:) ...
INTEGER
:: ntasks ...
INTEGER
:: curr_tasks ...
POINTER
:: rs_descs(:) ...
POINTER
:: dft_control ...
POINTER
:: cube_info(:) ...
POINTER
:: gridlevel_info ...
INTEGER
:: cindex ...
INTEGER
:: iatom ...
INTEGER
:: jatom ...
REAL(dp),
POINTER
:: rpgfa(:,:) ...
REAL(dp),
POINTER
:: rpgfb(:,:) ...
REAL(dp),
POINTER
:: zeta(:,:) ...
REAL(dp),
POINTER
:: zetb(:,:) ...
REAL(dp)
:: kind_radius_b ...
REAL(dp),
POINTER
:: set_radius_a(:) ...
REAL(dp),
POINTER
:: set_radius_b(:) ...
REAL(dp)
:: ra(3) ...
REAL(dp)
:: rab(3) ...
INTEGER,
POINTER
:: la_max(:) ...
INTEGER,
POINTER
:: la_min(:) ...
INTEGER,
POINTER
:: lb_max(:) ...
INTEGER,
POINTER
:: lb_min(:) ...
INTEGER,
POINTER
:: npgfa(:) ...
INTEGER,
POINTER
:: npgfb(:) ...
INTEGER
:: maxpgf ...
INTEGER
:: maxset ...
INTEGER
:: natoms ...
INTEGER
:: nimages ...
INTEGER
:: nseta ...
INTEGER
:: nsetb ...