cp2k/benchmarks/QS_single_node
Frederick Stein 433c71f6d2
MP2: Improve communication and memory management (#2137)
* MP2: Split mp2_ri_get_sizes

* Split mp2_ri_create_group

* MP2: Call mp2_ri_get_integ_group_size outside of the loops

The determined parameters are only calculated once

* Split mp2_ri_allocate

* Check replication explicitly

This step prepares larger replication group sizes for open shell systems

* Move some deallocation outside of the loop

* Move Postprocessing of Gamma_P_ia outside of the loop

* Interchange loops

* Move more routines outside of the loops

* Carry out dereplication at the end

* Collect bits of P_ab afterwards

* Interchange order of case in open-shell systems

* Carry out replication only once

* Remove unused variable

* Save a dereplication step in the open-shell case

* Split two lines

* Correctly determine an adequate integral replication size

* Set lower limit to integration group size

Reduces communication from replication

* Extend open-shell MP2 to block sizes larger than one

* Chose a more suitable block size than just 1

* Several fixes

* Consider more memory

* Fix open-shell systems

* Allocate memory for exchange of Y_i_aP only once

* Preallocate buffers instad of reallocating them

Reduces the memoryfootprint because it takes some time for the operating system to know that freed memory is actually free.

* Use the same block size everywhere

* Allocate memory only if necessary

* Make pointers contiguous

* Use for MP2+ADMM and double hybrid tests an automatic block size

* Further adjustment memory management

* Improve description of group size and abort if it is not a divisor of the number of MPI ranks

* Use one central buffer for recv and send operations

* Use automatic block sizes with single-node benchmark

* Minor adjustments to memory management

* MP2: Use available buffer for nearly degenerate occ-occ pairs

* Skip estimation of left computation time in MP2 for the very first step
2022-05-30 14:30:05 +02:00
..
bench_dftb.inp bechmarks: Reduce length of timings report 2021-04-07 14:54:42 +02:00
dbcsr.inp bechmarks: Reduce length of timings report 2021-04-07 14:54:42 +02:00
diag_cu72_broy.inp benchmarks: Add diag_cu[72,144]_broy.inp (Marcella Iannuzzi) 2021-07-24 12:01:36 +02:00
diag_cu144_broy.inp benchmarks: Add diag_cu[72,144]_broy.inp (Marcella Iannuzzi) 2021-07-24 12:01:36 +02:00
do_benchmark Fix various shellcheck warnings 2022-01-28 11:55:35 +01:00
GW_PBE_4benzene.inp benchmarks: Add GW_PBE_4benzene.inp (Jan Wilhelm) 2021-05-05 11:03:59 +02:00
H2O-gga.inp bechmarks: Reduce length of timings report 2021-04-07 14:54:42 +02:00
H2O-hyb.inp bechmarks: Reduce length of timings report 2021-04-07 14:54:42 +02:00
README.md Format Markdown files to comply with Linter 2020-08-25 12:57:37 +02:00
RI-HFX_H2O-32.inp benchmarks: Add RI-HFX_H2O-32.inp (Augustin Bussy) 2021-12-14 07:20:39 +01:00
RI-MP2_ammonia.inp MP2: Improve communication and memory management (#2137) 2022-05-30 14:30:05 +02:00

Quickstep Single Node Regression Tests

The purpose of these tests is to give a quick idea of the performance of a system, when only a single node is available. The tests should run in < 5 minutes on a modern node, and require less than 16Gb of memory.