(git:34ef472)
dbm_api.F File Reference

Go to the source code of this file.

Modules

module  dbm_api
 

Macros

#define DBM_VALIDATE_NBLOCKS_MATCH   .TRUE.
 
#define DBM_VALIDATE_THRESHOLD   5e-10_dp
 

Functions/Subroutines

subroutine, public dbm_api::dbm_create_from_template (matrix, name, template)
 Creates a new matrix from given template, reusing dist and row/col_block_sizes. More...
 
subroutine, public dbm_api::dbm_create (matrix, name, dist, row_block_sizes, col_block_sizes)
 Creates a new matrix. More...
 
subroutine, public dbm_api::dbm_finalize (matrix)
 Needed to be called for DBCSR after blocks where inserted. For DBM it's a no-opt. More...
 
subroutine, public dbm_api::dbm_release (matrix)
 Releases a matrix and all its ressources. More...
 
subroutine, public dbm_api::dbm_copy (matrix_a, matrix_b)
 Copies content of matrix_b into matrix_a. Matrices must have the same row/col block sizes and distribution. More...
 
subroutine, public dbm_api::dbm_redistribute (matrix, redist)
 Copies content of matrix_b into matrix_a. Matrices may have different distributions. More...
 
subroutine, public dbm_api::dbm_get_block_p (matrix, row, col, block, row_size, col_size)
 Looks up a block from given matrics. This routine is thread-safe. If the block is not found then a null pointer is returned. More...
 
subroutine, public dbm_api::dbm_put_block (matrix, row, col, block, summation)
 Adds a block to given matrix. This routine is thread-safe. If block already exist then it gets overwritten (or summed). More...
 
subroutine, public dbm_api::dbm_clear (matrix)
 Remove all blocks from given matrix, but does not release the underlying memory. More...
 
subroutine, public dbm_api::dbm_filter (matrix, eps)
 Removes all blocks from the given matrix whose block norm is below the given threshold. Blocks of size zero are always kept. More...
 
subroutine, public dbm_api::dbm_reserve_blocks (matrix, rows, cols)
 Adds given list of blocks efficiently. The blocks will be filled with zeros. More...
 
subroutine, public dbm_api::dbm_scale (matrix, alpha)
 Multiplies all entries in the given matrix by the given factor alpha. More...
 
subroutine, public dbm_api::dbm_zero (matrix)
 Sets all blocks in the given matrix to zero. More...
 
subroutine, public dbm_api::dbm_add (matrix_a, matrix_b)
 Adds matrix_b to matrix_a. More...
 
subroutine, public dbm_api::dbm_multiply (transa, transb, alpha, matrix_a, matrix_b, beta, matrix_c, retain_sparsity, filter_eps, flop)
 Computes matrix product: matrix_c = alpha * matrix_a * matrix_b + beta * matrix_c. More...
 
subroutine, public dbm_api::dbm_iterator_start (iterator, matrix)
 Creates an iterator for the blocks of the given matrix. The iteration order is not stable. More...
 
integer function, public dbm_api::dbm_iterator_num_blocks (iterator)
 Returns number of blocks the iterator will provide to calling thread. More...
 
logical function, public dbm_api::dbm_iterator_blocks_left (iterator)
 Tests whether the given iterator has any block left. More...
 
subroutine, public dbm_api::dbm_iterator_next_block (iterator, row, column, block, row_size, col_size)
 Returns the next block from the given iterator. More...
 
subroutine, public dbm_api::dbm_iterator_stop (iterator)
 Releases the given iterator. More...
 
real(kind=dp) function, public dbm_api::dbm_checksum (matrix)
 Computes a checksum of the given matrix. More...
 
real(kind=dp) function, public dbm_api::dbm_maxabs (matrix)
 Returns the absolute value of the larges element of the entire given matrix. More...
 
character(len=default_string_length) function, public dbm_api::dbm_get_name (matrix)
 Returns the name of the matrix of the given matrix. More...
 
pure integer function, public dbm_api::dbm_get_nze (matrix)
 Returns the number of local Non-Zero Elements of the given matrix. More...
 
pure integer function, public dbm_api::dbm_get_num_blocks (matrix)
 Returns the number of local blocks of the given matrix. More...
 
integer function, dimension(:), pointer, contiguous, public dbm_api::dbm_get_row_block_sizes (matrix)
 Returns the row block sizes of the given matrix. More...
 
integer function, dimension(:), pointer, contiguous, public dbm_api::dbm_get_col_block_sizes (matrix)
 Returns the column block sizes of the given matrix. More...
 
subroutine, public dbm_api::dbm_get_local_rows (matrix, local_rows)
 Returns the local row block sizes of the given matrix. More...
 
subroutine, public dbm_api::dbm_get_local_cols (matrix, local_cols)
 Returns the local column block sizes of the given matrix. More...
 
subroutine, public dbm_api::dbm_get_stored_coordinates (matrix, row, column, processor)
 Returns the MPI rank on which the given block should be stored. More...
 
type(dbm_distribution_obj) function, public dbm_api::dbm_get_distribution (matrix)
 Returns the distribution of the given matrix. More...
 
subroutine, public dbm_api::dbm_distribution_new (dist, mp_comm, row_dist_block, col_dist_block)
 Creates a new two dimensional distribution. More...
 
subroutine, public dbm_api::dbm_distribution_hold (dist)
 Increases the reference counter of the given distribution. More...
 
subroutine, public dbm_api::dbm_distribution_release (dist)
 Decreases the reference counter of the given distribution. More...
 
integer function, dimension(:), pointer, contiguous, public dbm_api::dbm_distribution_row_dist (dist)
 Returns the rows of the given distribution. More...
 
integer function, dimension(:), pointer, contiguous, public dbm_api::dbm_distribution_col_dist (dist)
 Returns the columns of the given distribution. More...
 
subroutine, public dbm_api::dbm_library_init ()
 Initialize DBM library. More...
 
subroutine, public dbm_api::dbm_library_finalize ()
 Finalize DBM library. More...
 
subroutine, public dbm_api::dbm_library_print_stats (mpi_comm, output_unit)
 Print DBM library statistics. More...
 

Macro Definition Documentation

◆ DBM_VALIDATE_NBLOCKS_MATCH

#define DBM_VALIDATE_NBLOCKS_MATCH   .TRUE.

◆ DBM_VALIDATE_THRESHOLD

#define DBM_VALIDATE_THRESHOLD   5e-10_dp