Update benchmarks
Updates benchmark cases: NonUniformGridCPU
, NonUniformGridGPU
, UniformGridCPU
, UniformGridGPU
, PhaseFieldAllenCahn
, and Thermocapillary
.
The updates concern a general clean up, and extension of the benchmarks to support:
- MachineState: for increased reproducibility of benchmarks
- Mixed-precision: This means the LBM benchmarks can be generated using float32 for storing the PDFs and float64 for the collision step, BC, etc
- The NonUniform benchmarks are aligned now with the benchmarks of Schornbaum. This means the weak and strong scaling benchmarks are done using a specific LDC setup
Furthermore, the mesh refinement is extended in the case an inplace streaming pattern is used. In this case, the sweepCollection provides a blockwiese streamCollide and ghostLayerPropagation, and the communication kernels provide a blockwise equal level local communication. This enables better performance when smaller blocks are used.
Edited by Markus Holzer