Peano
Loading...
Searching...
No Matches
studies Namespace Reference

-load-balancing More...

Detailed Description

-load-balancing

-single-black-hole

Compare the decompositions of the hardcoded load balancing

Runs the executables that single-black-hole.py generated with different –decomposition and –split-mode settings. Each directory below the study directory holds one build. For each build, each thread count and each repetition, the script runs the code and reports

  • the number of local and virtual (remote) cells over all trees,
  • the largest number of local cells of any tree, i.e. the imbalance, and
  • the total time and the average time of the TimeStep sweeps.

    python3 studies-load-balancing.py studies-quantised –threads 1 8 –repetitions 3

Run the numerical scheme and the performance study of the single black hole

The script drives single-black-hole.py: For each configuration of a study, it generates the code into its own subdirectory of –work-directory, builds it, runs the executable and appends one row to results-<study>.csv in the work directory. The rows hold the configuration, the wall time of the build, the wall time of the run, the exit code, the seconds in the setup and in the time stepping sweeps (from Peano's step report), the number of sweeps, the last time stamp and the log file of the run. The console output of every run goes into <configuration>/run-<threads>-threads-<repetition>.log.

python3 studies-single-black-hole.py schemes     --variant profile
python3 studies-single-black-hole.py performance --variant profile --threads 1 2 4 8

The studies are:

  • schemes: Which numerical schemes get through the evolution of the black hole? Runs the Finite Volumes on the regular mesh and with one additional level of adaptive mesh refinement around the puncture (two levels need more than 11 GB and hours even for this radius), and the fourth-order Finite Differences with Runge-Kutta orders 2 to 4, with and without lopsided advection and Kreiss-Oliger dissipation. A configuration which blows up yields a non-zero exit code or the wall time of the run is much shorter than the others. The Finite Differences do not support adaptive mesh refinement yet.
  • performance: How fast is the code? Runs the Finite Volumes on the regular mesh and with one level of adaptive mesh refinement for all the task graph compilers, and for every thread count passed in –threads. The thread count is set through OMP_NUM_THREADS, i.e. it is meaningful for OpenMP builds of Peano. Use –repetitions to see the noise.

The studies write binary checkpoints every 10 time units and visualisation snapshots every 1 time unit, as single-black-hole.py does by default. Analyse the snapshots with probe-single-black-hole.py afterwards. Pass –extra-arguments "--checkpoint-interval 0 --plot-interval 0" to switch the output off, e.g. for timings.

Both studies need a Peano build with GSL, as the initial data comes from TwoPunctures. Use –dry-run to only list the configurations.