walberla
This module tests the binary 05_BackwardFacingStep in available modules containing substring 'waLBerla'. The test is taken from the existing tutorials within the walberla repository: https://github.com/lssfau/walberla/tree/master/apps/tutorials/lbm
License information can be found here: https://github.com/lssfau/walberla/blob/master/COPYING.txt
EESSI_WALBERLA_BACKWARD_FACING_STEP
¶
Bases: RunOnlyRegressionTest, EESSI_Mixin
This is the main walberla class for the backward facing step test. The test consists of steps that modify the input
file from the precompiled walberla tutorials binary. These are run as pre-run commands and the main test with the
executable 05_BackwardFacingStep is measured for performance.
The code will run on one core but will take about an hour to run therefore this test is implemented to execute on
at least 8 cores and at most 384 cores.
assert_completion()
¶
Checking for completion string within stdout and number of output timesteps within vtk.
assert_sanity()
¶
Check all sanity criteria.
check_files()
¶
Check for all the log files present.
perf()
¶
Collecting performance timings within the log and computing average performance time per step.
prepare_environment()
¶
Function: 1. Copying the built binary from the tutorial section of the relevant waLBerla module. 2. Modifying the input prm file to adjust for number of MPI tasks (blocks) and cells per block keeping the domain size same. 3. Adjusting timesteps since the run need not be that long as in the original input prm file.
set_compute_unit()
¶
This test is a CPU only test. Set the compute unit to which tasks will be assigned: one task per CPU core for CPU runs.
filter_scales()
¶
Filtering function for filtering scales for the waLBerla test returns all scales from 8 cores to 2 nodes. This is because this case is testing strong scaling and the number of cells per MPI process become too less typically once it crosses 2 nodes. Further filtering is done within the test based on MPI tasks. The code is capable of running on 1 to 4 cores as well but it will take about 1 hour to run on a single core.