Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-codegen
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
Christian Heinigk
dune-codegen
Commits
ded458ea
"Utils/String.ct" did not exist on "916212e16fec87fcd96d59f5087308ffc2385cab"
Commit
ded458ea
authored
7 years ago
by
René Heß
Browse files
Options
Downloads
Patches
Plain Diff
Add readme and script to apply patches
parent
04bc96b6
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
README.md
+113
-0
113 additions, 0 deletions
README.md
patches/apply_patches.sh
+10
-0
10 additions, 0 deletions
patches/apply_patches.sh
with
123 additions
and
0 deletions
README.md
0 → 100644
+
113
−
0
View file @
ded458ea
# dune-perftool
dune-perftool is an active research code 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 of interface stability ;).
## Dependencies
dune-perftool depends on the following software packages:
*
You need a working
[
dune-pdelab
][
1
]
.
*
We use
[
dune-testtools
][
2
]
for ini file variablility.
*
The
[
Integer Set Library
][
3
]
needs to be installed. Using the
package manager is probably the easiest way.
## Cloning and Patching
We use several sumbodules 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:
```
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
][
0
]
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
][
4
]
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_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
[
0
]:
https://git-lfs.github.com/
[
1
]:
https://gitlab.dune-project.org/pdelab/dune-pdelab
[
2
]:
https://gitlab.dune-project.org/quality/dune-testtools
[
3
]:
http://isl.gforge.inria.fr/
[
4
]:
https://www.dune-project.org/doc/installation/
This diff is collapsed.
Click to expand it.
patches/apply_patches.sh
0 → 100755
+
10
−
0
View file @
ded458ea
#!/bin/bash
pushd
python/loopy
git apply ../../patches/loopy/Current.patch
git apply ../../patches/loopy/0001-Allow-using-globalargs-as-base-storage.patch
popd
pushd
dune/perftool/vectorclass
git apply ../../../patches/vectorclass/0001-Better-implementation-of-horizontal_add.patch
popd
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment