dbcsr
dbcsr copied to clipboard
Distribution defaults
I open this issue to discuss how the distribution of DBCSR matrices/tensors should be handled. If possible, DBCSR should provide a default distribution that gives reasonably good load balance for unknown (arbitrary) sparsity pattern.
The current situation is as follows:
- By default, CP2K uses basic distribution (DBCSR external)
- the QS_DM_LS benchmarks use spatial distribution (DBCSR external)
- the tensor distribution does something similar as 1. but adding randomization (DBCSR internal)
Distribution 1 or 3 could be made a DBCSR-internal default because they do not rely on any information other than block sizes. I suggest systematic testing of all QS_DM_LS
benchmarks with the 3 heuristics. Based on the result we can decide which solution to use as default. This should not change the existing API but add an optional convenience function.