(git:ccc2433)
qs_fb_com_tasks_types.F File Reference

Go to the source code of this file.

Modules

module  qs_fb_com_tasks_types
 

Functions/Subroutines

subroutine, public qs_fb_com_tasks_types::fb_com_tasks_release (com_tasks)
 Releases an fb_com_tasks object. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_release (atom_pairs)
 Releases an fb_com_atom_pairs object. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_nullify (com_tasks)
 Nullifies a fb_com_tasks object, note that it does not release the original object. This procedure is used to nullify the pointer contained in the object which is used to associate to the actual object content. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_nullify (atom_pairs)
 Nullifies a fb_com_atom_pairs object, note that it does not release the original object. This procedure is used to nullify the pointer contained in the object which is used to associate to the actual object content. More...
 
logical function, public qs_fb_com_tasks_types::fb_com_atom_pairs_has_data (atom_pairs)
 Checks if a fb_com_atom_pairs object is associated with an actual data content or not. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_create (com_tasks)
 Creates and initialises an empty fb_com_tasks object. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_create (atom_pairs)
 Creates and initialises an empty fb_com_atom_pairs object. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_init (atom_pairs)
 Initialises an fb_com_atom_pairs object, and makes it empty. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_get (com_tasks, task_dim, ntasks, nencode, tasks)
 Gets attributes from a fb_com_tasks object, one should only access the data content in a fb_com_tasks object outside this module via this procedure. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_get (atom_pairs, npairs, natoms_encode, pairs)
 Gets attributes from a fb_com_atom_pairs object, one should only access the data content in a fb_com_atom_pairs object outside this module via this procedure. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_set (com_tasks, task_dim, ntasks, nencode, tasks)
 Sets attributes in a fb_com_tasks object, one should only access the data content in a fb_com_tasks object outside this module via this procedure. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_transpose_dest_src (tasks_dest_is_me, direction, tasks_src_is_me, para_env)
 Start from a local set of tasks that has desc/src process equal to the local MPI rank, communicate with other processes so that a new local set of tasks is constructed with src/desc process equal to the local MPI rank. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_build_atom_pairs (com_tasks, atom_pairs, natoms_encode, send_or_recv)
 Generate send or receive atom_pair lists from a com_tasks object. atom_pair list is used as a condensed index for the local/remote matrix blocks to be sent/received. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_encode_pair (ind, iatom, jatom, natoms)
 Encodes (iatom, jatom) pair index of a block into a single integer. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_tasks_decode_pair (ind, iatom, jatom, natoms)
 Dncodes a single integer into (iatom, jatom) pair index of a block into a single. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_decode (ind, pe, iatom, jatom, natoms)
 Decodes a single integer into the (rank, iatom, jatom) index of a communication task to send/receive a block to/from a process. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_calc_buffer_sizes (atom_pairs, nprocs, row_blk_sizes, col_blk_sizes, sendrecv_sizes, sendrecv_disps, sendrecv_pair_counts, sendrecv_pair_disps)
 Calculate the MPI send or recv buffer sizes according to the communication pairs (atom_pairs) and DBCSR matrix data. Each atom_pair corresponds to one DBCSR matrix block that needs to be sent or recerived. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_gather_blks (dbcsr_mat, atom_pairs_send, atom_pairs_recv, para_env, matrix_storage)
 Given send and recv fb_com_atom_pair object, gather all the relevant DBCSR matrix blocks together, and add them to a fb_matrix_data object for storage. More...
 
subroutine, public qs_fb_com_tasks_types::fb_com_atom_pairs_distribute_blks (matrix_storage, atom_pairs_send, atom_pairs_recv, para_env, dbcsr_mat)
 Given send and recv fb_com_atom_pair object, distribute the matrix blocks stored in a fb_matrix_data object to a computable DBCSR matrix. It is assumed in this subroutine that the sizes of each block stored in fb_matrix_data object is consistent with the pre-defined block sizes in the DBCSR matrix. More...
 

Variables

integer, parameter, public qs_fb_com_tasks_types::task_n_records = 4
 
integer, parameter, public qs_fb_com_tasks_types::task_dest = 1
 
integer, parameter, public qs_fb_com_tasks_types::task_src = 2
 
integer, parameter, public qs_fb_com_tasks_types::task_pair = 3
 
integer, parameter, public qs_fb_com_tasks_types::task_cost = 4