This contains a Docker image and some scripts that are used to generate the results from the paper in a reproducible manner.
To build the image, start your docker daemon and just do
docker buildx build -f Dockerfile . -t qbx-ds-experiments
or, equivalently
make docker-build
To run the scripts in the experiments
folder you need to go through the following
steps
# 1. build the container as above
# 2. enter the container using:
make docker-run
# 3. inside the container:
source "${HOME}/.miniforge/bin/activate" paper
make run
make visualize
The first make run
command will run all the experiments and generate a set of
npz
files with the results. This can take a very long time and uses all
available CPU cores (through OpenCL and PoCL), so make sure to have the necessary
resources. The results can then be visualized with make visualize
.
You can of course also run the scripts individually by calling the respective
file. The make run
command will automatically run the experiments over 2D and
3D and over a single-layer and double-layer potential to generate all the results
from the paper.
The repository contains a list of hardcoded dependencies at the time of writing to ensure reproducible results. They can be found in
conda-packages.txt
: base system Conda dependencies.requirements.txt
: additional Python dependencies.
To update the versions to the latest ones, you can use
make -B pin