(git:e7e05ae)
cp_dbcsr_operations.F File Reference
#include "base/base_uses.f90"

Go to the source code of this file.

Data Types

interface  cp_dbcsr_operations::dbcsr_allocate_matrix_set
 
interface  cp_dbcsr_operations::dbcsr_deallocate_matrix_set
 

Modules

module  cp_dbcsr_operations
 DBCSR operations in CP2K.
 

Functions/Subroutines

subroutine, public cp_dbcsr_operations::copy_fm_to_dbcsr (fm, matrix, keep_sparsity)
 Copy a BLACS matrix to a dbcsr matrix. More...
 
subroutine, public cp_dbcsr_operations::copy_fm_to_dbcsr_bc (fm, bc_mat)
 Copy a BLACS matrix to a dbcsr matrix with a special block-cyclic distribution, which requires no complete redistribution. More...
 
subroutine, public cp_dbcsr_operations::copy_dbcsr_to_fm (matrix, fm)
 Copy a DBCSR matrix to a BLACS matrix. More...
 
subroutine, public cp_dbcsr_operations::copy_dbcsr_to_fm_bc (bc_mat, fm)
 Copy a DBCSR_BLACS matrix to a BLACS matrix. More...
 
subroutine, public cp_dbcsr_operations::copy_cfm_to_dbcsr (fm, matrix, keep_sparsity)
 Copy a BLACS matrix to a dbcsr matrix. More...
 
subroutine, public cp_dbcsr_operations::copy_dbcsr_to_cfm (matrix, fm)
 Copy a DBCSR matrix to a BLACS matrix. More...
 
subroutine, public cp_dbcsr_operations::dbcsr_copy_columns_hack (matrix_b, matrix_a, ncol, source_start, target_start, para_env, blacs_env)
 hack for dbcsr_copy_columns More...
 
subroutine, public cp_dbcsr_operations::cp_dbcsr_dist2d_to_dist (dist2d, dist)
 Creates a DBCSR distribution from a distribution_2d. More...
 
subroutine, public cp_dbcsr_operations::dbcsr_multiply_local (matrix_a, vec_b, vec_c, ncol, alpha)
 multiply a dbcsr with a replicated array c = alpha_scalar * A (dbscr) * b + c More...
 
subroutine, public cp_dbcsr_operations::cp_dbcsr_sm_fm_multiply (matrix, fm_in, fm_out, ncol, alpha, beta)
 multiply a dbcsr with a fm matrix More...
 
subroutine, public cp_dbcsr_operations::cp_dbcsr_plus_fm_fm_t (sparse_matrix, matrix_v, matrix_g, ncol, alpha, keep_sparsity, symmetry_mode)
 performs the multiplication sparse_matrix+dense_mat*dens_mat^T if matrix_g is not explicitly given, matrix_v^T will be used this can be important to save the necessary redistribute for a different matrix_g and increase performance. More...
 
subroutine, public cp_dbcsr_operations::cp_fm_to_dbcsr_row_template (matrix, fm_in, template)
 Utility function to copy a specially shaped fm to dbcsr_matrix The result matrix will be the matrix in dbcsr format with the row blocks sizes according to the block_sizes of the template and the col blocks sizes evenly blocked with the internal dbcsr conversion size (32 is the current default) More...
 
subroutine, public cp_dbcsr_operations::cp_dbcsr_m_by_n_from_template (matrix, template, m, n, sym, data_type)
 Utility function to create an arbitrary shaped dbcsr matrix with the same processor grid as the template matrix both row sizes and col sizes are evenly blocked with the internal dbcsr_conversion size (32 is the current default) More...
 
subroutine, public cp_dbcsr_operations::cp_dbcsr_m_by_n_from_row_template (matrix, template, n, sym, data_type)
 Utility function to create dbcsr matrix, m x n matrix (n arbitrary) with the same processor grid and row distribution as the template matrix col sizes are evenly blocked with the internal dbcsr_conversion size (32 is the current default) More...
 
subroutine, public cp_dbcsr_operations::dbcsr_create_dist_r_unrot (dist_right, dist_left, ncolumns, right_col_blk_sizes)
 Creates a new distribution for the right matrix in a matrix multiplication with unrotated grid. More...
 

Variables

logical, parameter cp_dbcsr_operations::debug_mod = .FALSE.
 
integer, save, public cp_dbcsr_operations::max_elements_per_block = 32