Skip to content
Snippets Groups Projects
user avatar
René Heß authored
This is done by throwing an exception in the 3D case and doing the 2D case in
the catch part.
9deb76dc
History

dune-perftool

dune-perftool is an active research project with the goal of generating high-performance integration kernels for dune-pdelab.

Note: Due to the research character of the code things will change a lot and there is no guarantee for interface stability ;).

pipeline status

Dependencies

dune-perftool depends on the following software packages:

Cloning and Patching

We use several submodules so you should clone with the --recursive option:

git clone --recursive ssh://git@parcomp-git.iwr.uni-heidelberg.de:20022/dominic/dune-perftool.git

or

git clone --recursive https://parcomp-git.iwr.uni-heidelberg.de/dominic/dune-perftool.git

If you have a feature branch feature/my-branch where you change the submodules of dune-perftool and you want to test your branch it makes sense to checkout this branch directly in a fresh clone:

git clone --recursive -b feature/my-branch ssh://git@parcomp-git.iwr.uni-heidelberg.de:20022/dominic/dune-perftool.git

Some tests compare the vtkoutput to a reference vtk output. If you want to have all tests passing you need to install git-lfs before cloning. Cloning via ssh and using a ssh-agent are recommended in this case:

ssh-add
git clone --recursive ssh://git@parcomp-git.iwr.uni-heidelberg.de:20022/dominic/dune-perftool.git

After cloning dune-perftool you need apply some patches:

  • Go to the base folder of dune-perftool and run patches/apply_patches.sh. This applies patches to the submodules.

    cd dune-perftool/
    ./patches/apply_patches.sh
  • Besides that you need to apply the patch dune-perftool/patches/dune-geometry/quadrule_operator_counting_compatible.patch in dune-geometry.

Building dune-perftool

Building dune-perftool is done through the Dune build-system using cmake. See the Dune homepage for further details. You need to set the options

-DDUNE_PYTHON_ALLOW_GET_PIP=1
-DDUNE_PYTHON_VIRTUALENV_SETUP=1

in your options file. Your options file could for example look like the following:

CMAKE_FLAGS="
  -DDUNE_PYTHON_FORCE_PYTHON3=1
  -DDUNE_PYTHON_ALLOW_GET_PIP=1
  -DDUNE_PYTHON_VIRTUALENV_SETUP=1
  -DCMAKE_BUILD_TYPE=Release
  -DCMAKE_CXX_FLAGS='-march=native -ffast-math'
  -DDUNE_SYMLINK_TO_SOURCE_TREE=1
"

MAKE_FLAGS="-j2"

Building and Running the Tests

You can build and run the tests via:

cd path/to/dune-perftool/build/directory
make build_tests
ctest

Links