README.md
1!--------------------------------------------------------------------------------------------------!
2! Copyright (C) by the DBCSR developers group - All rights reserved !
3! This file is part of the DBCSR library. !
4! !
5! For information on the license, see the LICENSE file. !
6! For further information please visit https://dbcsr.cp2k.org !
7! SPDX-License-Identifier: GPL-2.0+ !
8!--------------------------------------------------------------------------------------------------!
9
10# DBCSR Testing and Performance
11
12## Correctness tests
13
14- [dbcsr_tas_unittest](dbcsr_tas_unittest.F) : unit test for tall-and-skinny matrices
15- [dbcsr_tensor_test](dbcsr_tensor_test.cpp) : test the tensor contraction (13|2)x(54|21)=(3|45) 31 and other functions
16- [dbcsr_tensor_unittest](dbcsr_tensor_unittest.F) : unit test for tensor functionalities
17- [dbcsr_test_csr_conversions](dbcsr_test_csr_conversions.F) : test DBCSR to CSR conversion with random matrices
18- [dbcsr_unittest_1](dbcsr_unittest1.F) : test matrix operations: add, multiply and multiply-ghost
19- [dbcsr_unittest_2](dbcsr_unittest2.F) : test matrix-multiply with large blocks (block size=100) and rectangular matrices (block size=5)
20
21### GPU-backend correctness tests:
22
23- [dbcsr_unittest_3](dbcsr_unittest3.F) : test matrix-multiply with various block sizes that are run by the libsmm_acc GPU backend if DBCSR is compiled with GPU support
24- [libsmm_acc_unittest_multiply](libsmm_acc_unittest_multiply.cpp.template) : tests all libsmm_acc transpose kernels
25- [libsmm_acc_unittest_transpose](libsmm_acc_unittest_transpose.cpp) : tests all libsmm_acc batch-multiplication kernels
26
27## Performance tests
28
29DBCSR performance tests:
30
31- [dbcsr_performance_driver](dbcsr_performance_driver.F) : performance tester for matrix operations. The input matrices can be described in an input file in order to test different configurations. See below.
32
33### GPU backend performance tests:
34
35- [libsmm_acc_timer_multiply](libsmm_acc_timer_multiply.cpp.template) : time all libsmm_acc batch-multiplication kernels
36
37---
38
39See the [tests' documentation](../docs/guide/2-user-guide/2-tests/index.md).
40