dbcsr_test_scale_by_vector Module

Tests for DBCSR scale_by_vector



Contents


Variables

TypeVisibilityAttributesNameInitial
logical, private, parameter:: debug_mod =.FALSE.

Functions

public function dbcsr_test_scale_by_vectors(test_name, mp_group, mp_env, npdims, io_unit, matrix_size, bs_m, bs_n, sparsity, do_exact_comparison) result(success)

Performs a variety of matrix multiplies of same matrices on different processor grids

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: test_name
integer, intent(in) :: mp_group

MPI communicator

type(dbcsr_mp_obj), intent(in) :: mp_env
integer, intent(in), DIMENSION(2):: npdims
integer, intent(in) :: io_unit

which unit to write to, if not negative

integer, intent(in), DIMENSION(2):: matrix_size

size of matrix to test

integer, intent(in), DIMENSION(:):: bs_m

block sizes of the 2 dimension block sizes of the 2 dimension

integer, intent(in), DIMENSION(:):: bs_n

block sizes of the 2 dimension block sizes of the 2 dimension

real(kind=real_8), intent(in) :: sparsity

sparsity of the matrix to create

logical, intent(in) :: do_exact_comparison

whether or not to do exact comparison for the matrix values

Return Value logical

private function test_scale_by_vector(mp_env, npdims, matrix, vector, do_exact_comparison) result(res)

Performs T(v * T(M)) == M*v

Arguments

TypeIntentOptionalAttributesName
type(dbcsr_mp_obj), intent(in) :: mp_env
integer, intent(in), DIMENSION(2):: npdims

processor grid

type(dbcsr_type), intent(in) :: matrix

matrix to scale

type(dbcsr_data_obj), intent(in) :: vector

scaling vector

logical, intent(in) :: do_exact_comparison

whether to do an exact comparison (via densification)

Return Value logical


Subroutines

private subroutine write_1d_data_obj(io_unit, vector)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: io_unit
type(dbcsr_data_obj), intent(in) :: vector

private subroutine write_matrix_dense(io_unit, matrix)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: io_unit
type(dbcsr_type), intent(in) :: matrix