Skip to content

Scaling harness for Dedalus framework. Includes a small sampling of problems.

Notifications You must be signed in to change notification settings

DedalusProject/dedalus_scaling

Repository files navigation

README

Scaling and profiling tools, with associated example problems, for the Dedalus pseudospectral framework. To run these problems, first install Dedalus (and on github).

Example problems

Once Dedalus is installed and activated, run the triply-periodic shear flow example with:

mpirun -n 256 python3 shear_flow_3d.py

The Rayleigh-Benard convection examples can be run using:

mpirun -n 256 python3 rayleigh_benard_3d.py

Profiling

If you would like to have detailed profiles of the cython routines, please make sure to set the following envinroment variable:

export CYTHON_PROFILE=True

before installing Dedalus.

Detailed profiling requires installation of the gprof2dot library:

pip install gprof2dot

and the availability of dot in the compute environment.

Profiling during runs is controlled in dedalus.cfg or at the script level. When enabled, code profiles are stored by default in the ./profiles directory. You can obtain detailed performance data aggregated across cores and on a per-core basis using:

python3 plot_profiles.py

which will produce a variety of graphical outputs, stored in ./profiles as .png files.

Standard profiling

To run a standard set of scaling and profiling tests for the shear_flow_3d.py triply-periodic problem on 64 to 1024 cores, run the following:

bash scale_shear_flow.sh 128 > scaling_shear_flow_3d_128x128x128.txt
bash scale_shear_flow.sh 256 > scaling_shear_flow_3d_256x256x256.txt

python3 plot_scaling.py scaling_shear_flow_3d_128x128x128.txt scaling_shear_flow_3d_256x256x256.txt

python3 plot_timing_changes.py shear_flow_3d_256x256x256_* --label='256x256x256'
python3 plot_timing_changes.py shear_flow_3d_128x128x128_* --label='128x128x128'

About

Scaling harness for Dedalus framework. Includes a small sampling of problems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published