Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Commits on Source (242)
Showing
with 1131 additions and 1680 deletions
......@@ -61,21 +61,21 @@ IncludeCategories:
Priority: 3
- Regex: '^"core/'
Priority: 4
- Regex: '^"cuda/'
Priority: 5
- Regex: '^"domain_decomposition/'
Priority: 6
Priority: 5
- Regex: '^"executiontree/'
Priority: 7
Priority: 6
- Regex: '^"fft/'
Priority: 8
Priority: 7
- Regex: '^"field/'
Priority: 9
Priority: 8
- Regex: '^"gather/'
Priority: 10
Priority: 9
- Regex: '^"geometry/'
Priority: 10
- Regex: '^"gpu/'
Priority: 11
- Regex: '^"gui/'
- Regex: '^"gpu/'
Priority: 12
- Regex: '^"lbm/'
Priority: 13
......@@ -97,16 +97,18 @@ IncludeCategories:
Priority: 21
- Regex: '^"simd/'
Priority: 22
- Regex: '^"stencil/'
- Regex: '^"sqlite/'
Priority: 23
- Regex: '^"timeloop/'
- Regex: '^"stencil/'
Priority: 24
- Regex: '^"vtk/'
- Regex: '^"timeloop/'
Priority: 25
- Regex: '^<boost/'
- Regex: '^"vtk/'
Priority: 26
- Regex: '^<'
- Regex: '^<boost/'
Priority: 27
- Regex: '^<'
Priority: 28
IndentCaseLabels: false
IndentPPDirectives: AfterHash
IndentWidth: 3
......
......@@ -4,31 +4,39 @@ Checks: '
-*,
boost-*,
-boost-use-ranges,
bugprone-*,
-bugprone-branch-clone,
-bugprone-exception-escape,
-bugprone-easily-swappable-parameters,
-bugprone-crtp-constructor-accessibility,
-bugprone-implicit-widening-of-multiplication-result,
-bugprone-macro-parentheses,
-bugprone-narrowing-conversions,
-bugprone-switch-missing-default-case,
-bugprone-assignment-in-if-condition,
-bugprone-reserved-identifier,
misc-*,
-misc-misplaced-const,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-misc-include-cleaner,
-misc-header-include-cycle,
-misc-use-internal-linkage,
-misc-use-anonymous-namespace,
-misc-const-correctness,
-misc-misplaced-const
modernize-*,
-modernize-use-auto,
-modernize-loop-convert,
-modernize-pass-by-value,
-modernize-raw-string-literal,
-modernize-use-using,
-modernize-avoid-bind,
-modernize-return-braced-init-list,
-modernize-use-transparent-functors,
-modernize-redundant-void-arg,
-modernize-use-trailing-return-type,
-modernize-avoid-c-arrays,
-modernize-concat-nested-namespaces,
-modernize-use-nodiscard,
-modernize-macro-to-enum,
-modernize-concat-nested-namespaces,
mpi-*,
-mpi-type-mismatch,
......@@ -38,25 +46,25 @@ openmp-*,
-openmp-use-default-none,
performance-*,
-performance-enum-size,
-performance-noexcept-swap,
-performance-unnecessary-value-param,
-performance-avoid-endl,
-performance-no-int-to-ptr,
portability-*,
readability-const-return-type,
readability-container-size-empty,
readability-delete-null-pointer,
readability-deleted-default,
readability-isolate-declaration,
readability-misleading-indentation,
readability-misplaced-array-index,
readability-non-const-parameter,
readability-redundant-access-specifiers,
readability-redundant-control-flow,
readability-redundant-declaration,
readability-redundant-function-ptr-dereference,
readability-redundant-preprocessor,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-simplify-boolean-expr,
readability-simplify-subscript-expr,
readability-static-accessed-through-instance,
readability-static-definition-in-anonymous-namespace,
......
# See https://editorconfig.org/
root = true # top-most .editorconfig-file
# top-most .editorconfig-file
root = true
[*]
tab_width = 3
......@@ -12,4 +13,4 @@ insert_final_newline = false
[*.py]
tab_width = 4
indent_size = 4
insert_final_newline = true
insert_final_newline = true
\ No newline at end of file
......@@ -8,6 +8,10 @@ qrc_*
# macOS
**/.DS_Store
# CLion indexing
*.uuid
.fleet
# Generated files
*.out
......@@ -29,9 +33,12 @@ qrc_*
# Visual Studio Code
/.vscode
# Zed
/.cache*
# CLion
*.idea
*.clion*
# QtCreator
CMakeLists.txt.user.*
......@@ -48,6 +55,8 @@ CMakeLists.txt.user.*
logfile*.txt
*TestLog_p*.txt
# Python venv
.venv
# Compiled python
*.pyc
......@@ -60,6 +69,7 @@ logfile*.txt
# CMake
CMakeUserPresets.json
/CMakeLists.txt.user
# CMake build files
......@@ -73,3 +83,10 @@ CMakeDefs.h
/moduleStatistics.json
/walberla-config.cmake
cmake-build-*
# Virtual environments
.venv/
env/
venv/
ENV/
......@@ -6,6 +6,7 @@
stages:
- pretest
- "Code Quality"
- test
- deploy
- benchmark
......@@ -19,7 +20,8 @@ stages:
.build_template:
script:
- pip install -I cmake==3.16.3
- source /entrypoint.sh
- pip install -I cmake==3.16.3 jinja2
- export NUM_CORES=$(nproc --all)
- export MAX_BUILD_CORES=$(( $(awk '( $1 == "MemTotal:" ) { print $2 }' /proc/meminfo) / ( 4 * 1024 * 1024 ) ))
- "[[ $MAX_BUILD_CORES -lt $NUM_CORES ]] && export NUM_BUILD_CORES=$MAX_BUILD_CORES || export NUM_BUILD_CORES=$NUM_CORES"
......@@ -47,13 +49,15 @@ stages:
-DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS
-DWALBERLA_DOUBLE_ACCURACY=$WALBERLA_DOUBLE_ACCURACY
-DWARNING_ERROR=ON
-DWARNING_ERROR=$WARNING_ERROR
-DWALBERLA_BUILD_WITH_METIS=$WALBERLA_BUILD_WITH_METIS
-DWALBERLA_BUILD_WITH_PARMETIS=$WALBERLA_BUILD_WITH_PARMETIS
-DWALBERLA_BUILD_WITH_FFTW=$WALBERLA_BUILD_WITH_FFTW
-DWALBERLA_ENABLE_GUI=$WALBERLA_ENABLE_GUI
-DWALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT=$WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT
-DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN
-DWALBERLA_STL_BOUNDS_CHECKS=$WALBERLA_STL_BOUNDS_CHECKS
-DWALBERLA_LOGLEVEL=$WALBERLA_LOGLEVEL
-DCMAKE_CUDA_ARCHITECTURES=60
- cmake . -LA
- make -j $NUM_BUILD_CORES -l $NUM_CORES
- ctest -LE $CTEST_EXCLUDE_LABELS -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES -T Test
......@@ -74,7 +78,8 @@ stages:
WALBERLA_BUILD_WITH_METIS: "ON"
WALBERLA_BUILD_WITH_PARMETIS: "ON"
WALBERLA_BUILD_WITH_FFTW: "ON"
WALBERLA_ENABLE_GUI: "OFF"
WALBERLA_LOGLEVEL: "DETAIL"
WARNING_ERROR: "ON"
artifacts:
when: always
reports:
......@@ -91,334 +96,389 @@ stages:
intel_19_serial:
icc_2022_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WARNING_ERROR: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
- intel
intel_19_mpionly:
icc_2022_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WARNING_ERROR: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
- intel
intel_19_hybrid:
icc_2022_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_CXX_FLAGS: "-qoverride-limits"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
WARNING_ERROR: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_19_serial_dbg:
icc_2022_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
CMAKE_CXX_FLAGS: "-qoverride-limits"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
WARNING_ERROR: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_19_mpionly_dbg:
icc_2022_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
WARNING_ERROR: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_19_hybrid_dbg:
icc_2022_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WARNING_ERROR: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_19_hybrid_dbg_sp:
icc_2022_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/icc-2022:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
WARNING_ERROR: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_20_serial:
icx_2024_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
- intel
intel_20_mpionly:
icx_2024_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
- intel
intel_20_hybrid:
icx_2024_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_20_serial_dbg:
icx_2024_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_20_mpionly_dbg:
icx_2024_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_20_hybrid_dbg:
icx_2024_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
intel_20_hybrid_dbg_sp:
icx_2024_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:20
image: i10git.cs.fau.de:5005/walberla/buildenvs/icx-2024:32
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
CMAKE_CXX_FLAGS: "-qoverride-limits"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
tags:
- cuda
- cuda11
- docker
- intel
gcc_7_serial:
gcc_10_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_7_mpionly:
gcc_10_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_7_hybrid:
gcc_10_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_7_serial_dbg:
gcc_10_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_7_mpionly_dbg:
gcc_10_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_7_hybrid_dbg:
gcc_10_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda
- cuda11
- docker
gcc_7_hybrid_dbg_sp:
gcc_10_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-10:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
gcc_8_serial:
gcc_11_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -426,6 +486,7 @@ gcc_8_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -433,21 +494,26 @@ gcc_8_serial:
- cuda11
- docker
gcc_8_mpionly:
gcc_11_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -455,20 +521,25 @@ gcc_8_mpionly:
- cuda11
- docker
gcc_8_hybrid:
gcc_11_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -476,16 +547,20 @@ gcc_8_hybrid:
- cuda11
- docker
gcc_8_serial_dbg:
gcc_11_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -494,6 +569,7 @@ gcc_8_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -501,22 +577,27 @@ gcc_8_serial_dbg:
- cuda11
- docker
gcc_8_mpionly_dbg:
gcc_11_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -524,21 +605,26 @@ gcc_8_mpionly_dbg:
- cuda11
- docker
gcc_8_hybrid_dbg:
gcc_11_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -546,16 +632,20 @@ gcc_8_hybrid_dbg:
- cuda11
- docker
gcc_8_hybrid_dbg_sp:
gcc_11_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-11:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -564,6 +654,7 @@ gcc_8_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -571,16 +662,20 @@ gcc_8_hybrid_dbg_sp:
- cuda11
- docker
gcc_9_serial:
gcc_12_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -588,6 +683,7 @@ gcc_9_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -595,21 +691,26 @@ gcc_9_serial:
- cuda11
- docker
gcc_9_mpionly:
gcc_12_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -617,20 +718,25 @@ gcc_9_mpionly:
- cuda11
- docker
gcc_9_hybrid:
gcc_12_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -638,16 +744,20 @@ gcc_9_hybrid:
- cuda11
- docker
gcc_9_serial_dbg:
gcc_12_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -656,6 +766,7 @@ gcc_9_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -663,22 +774,27 @@ gcc_9_serial_dbg:
- cuda11
- docker
gcc_9_mpionly_dbg:
gcc_12_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -686,21 +802,26 @@ gcc_9_mpionly_dbg:
- cuda11
- docker
gcc_9_hybrid_dbg:
gcc_12_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -708,16 +829,20 @@ gcc_9_hybrid_dbg:
- cuda11
- docker
gcc_9_hybrid_dbg_sp:
gcc_12_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-12:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -726,6 +851,7 @@ gcc_9_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -733,16 +859,20 @@ gcc_9_hybrid_dbg_sp:
- cuda11
- docker
gcc_10_serial:
gcc_13_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -750,6 +880,8 @@ gcc_10_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -757,21 +889,27 @@ gcc_10_serial:
- cuda11
- docker
gcc_10_mpionly:
gcc_13_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -779,37 +917,45 @@ gcc_10_mpionly:
- cuda11
- docker
gcc_10_hybrid:
gcc_13_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
stage: pretest
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
tags:
- cuda11
- docker
gcc_10_serial_dbg:
gcc_13_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -818,68 +964,77 @@ gcc_10_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
tags:
- cuda11
- docker
gcc_10_mpionly_dbg:
gcc_13_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
tags:
- cuda11
- docker
gcc_10_hybrid_dbg:
gcc_13_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
tags:
- cuda11
- docker
gcc_10_hybrid_dbg_sp:
gcc_13_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:10
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=gcc CXX=g++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -888,23 +1043,26 @@ gcc_10_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT: "ON"
tags:
- cuda11
- docker
gcc_11_serial:
clang_14_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -912,6 +1070,7 @@ gcc_11_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -919,21 +1078,26 @@ gcc_11_serial:
- cuda11
- docker
gcc_11_mpionly:
clang_14_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -941,20 +1105,25 @@ gcc_11_mpionly:
- cuda11
- docker
gcc_11_hybrid:
clang_14_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -962,16 +1131,20 @@ gcc_11_hybrid:
- cuda11
- docker
gcc_11_serial_dbg:
clang_14_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -980,6 +1153,7 @@ gcc_11_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -987,22 +1161,27 @@ gcc_11_serial_dbg:
- cuda11
- docker
gcc_11_mpionly_dbg:
clang_14_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1010,38 +1189,44 @@ gcc_11_mpionly_dbg:
- cuda11
- docker
gcc_11_hybrid_dbg:
clang_14_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
gcc_11_hybrid_dbg_sp:
clang_14_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:11
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-14:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -1050,6 +1235,7 @@ gcc_11_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1057,14 +1243,28 @@ gcc_11_hybrid_dbg_sp:
- cuda11
- docker
gcc_12_serial:
clang_15_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1072,12 +1272,26 @@ gcc_12_serial:
- cuda11
- docker
gcc_12_mpionly:
clang_15_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1085,405 +1299,328 @@ gcc_12_mpionly:
- cuda11
- docker
gcc_12_hybrid:
clang_15_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
stage: pretest
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
gcc_12_serial_dbg:
clang_15_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
gcc_12_mpionly_dbg:
clang_15_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
gcc_12_hybrid_dbg:
clang_15_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
gcc_12_hybrid_dbg_sp:
clang_15_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:12
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-15:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_9.0_serial:
clang_16_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_mpionly:
clang_16_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_hybrid:
clang_16_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_serial_dbg:
clang_16_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_mpionly_dbg:
clang_16_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_hybrid_dbg:
clang_16_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- cuda11
- docker
clang_9.0_hybrid_dbg_sp:
clang_16_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_10.0_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:10.0
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda
- docker
clang_11.0_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-16:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- cuda11
- docker
clang_11.0_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -1492,6 +1629,7 @@ clang_11.0_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1499,16 +1637,20 @@ clang_11.0_hybrid_dbg_sp:
- cuda11
- docker
clang_12.0_serial:
clang_17_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -1516,6 +1658,7 @@ clang_12.0_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1523,21 +1666,26 @@ clang_12.0_serial:
- cuda11
- docker
clang_12.0_mpionly:
clang_17_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1545,37 +1693,43 @@ clang_12.0_mpionly:
- cuda11
- docker
clang_12.0_hybrid:
clang_17_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_12.0_serial_dbg:
clang_17_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -1584,68 +1738,75 @@ clang_12.0_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_12.0_mpionly_dbg:
clang_17_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_12.0_hybrid_dbg:
clang_17_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_12.0_hybrid_dbg_sp:
clang_17_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:12.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17:32
stage: pretest
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -1654,23 +1815,25 @@ clang_12.0_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_13.0_serial:
aocc_4_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -1678,6 +1841,7 @@ clang_13.0_serial:
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1685,21 +1849,26 @@ clang_13.0_serial:
- cuda11
- docker
clang_13.0_mpionly:
aocc_4_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -1707,34 +1876,43 @@ clang_13.0_mpionly:
- cuda11
- docker
clang_13.0_hybrid:
aocc_4_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_13.0_serial_dbg:
aocc_4_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
WALBERLA_BUILD_WITH_MPI: "OFF"
......@@ -1743,60 +1921,74 @@ clang_13.0_serial_dbg:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_13.0_mpionly_dbg:
aocc_4_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_13.0_hybrid_dbg:
aocc_4_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
clang_13.0_hybrid_dbg_sp:
aocc_4_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:13.0
stage: pretest
image: i10git.cs.fau.de:5005/walberla/buildenvs/aocc-4:32
before_script:
- pip3 install lbmpy==1.2 jinja2 pytest
- python3 -m venv ci-venv
- source ci-venv/bin/activate
- python3 -m pip install lbmpy==1.3.7 jinja2 pytest
- cd python
- python3 -m pytest --junitxml=report.xml pystencils_walberla lbmpy_walberla
- pip3 list
- python3 -m pip list
- deactivate
- python3 -m pip install numpy
- cd ..
- CC=gcc CXX=g++ pip3 install pycuda
- CC=clang CXX=clang++ ci-venv/bin/python -m pip install cupy-cuda11x
variables:
WALBERLA_BUILD_WITH_CUDA: "ON"
CMAKE_BUILD_TYPE: "DebugOptimized"
......@@ -1805,133 +1997,11 @@ clang_13.0_hybrid_dbg_sp:
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_CODEGEN: "ON"
WALBERLA_BUILD_WITH_PYTHON: "ON"
Python_ROOT_DIR: "./ci-venv"
tags:
- cuda11
- docker
inteloneapi_22.3_serial:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- docker
inteloneapi_22.3_mpionly:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
tags:
- docker
inteloneapi_22.3_hybrid:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
tags:
- docker
inteloneapi_22.3_serial_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
tags:
- docker
inteloneapi_22.3_mpionly_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
tags:
- docker
inteloneapi_22.3_hybrid_dbg:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
tags:
- docker
inteloneapi_22.3_hybrid_dbg_sp:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/inteloneapi:22.3
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
tags:
- docker
gcc_8_hybrid_dbg_noboost:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
before_script:
- rm -rf /opt/boost /usr/include/boost
variables:
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUILD_WITH_CUDA: "OFF"
WALBERLA_ENABLE_GUI: "OFF"
WALBERLA_BUILD_WITH_PYTHON: "OFF"
tags:
- docker
###############################################################################
## ##
## STL Debug Build ##
## ##
###############################################################################
gcc_10_stl_debug:
extends: .build_template
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-debug-stl:10
before_script:
- rm -rf /opt/boost /usr/include/boost
variables:
CTEST_EXCLUDE_LABELS: "longrun"
WALBERLA_BUILD_WITH_MPI: "ON"
WALBERLA_BUILD_WITH_OPENMP: "ON"
OMP_NUM_THREADS: "4"
OMP_WAIT_POLICY: "PASSIVE"
CMAKE_BUILD_TYPE: "DebugOptimized"
WALBERLA_BUFFER_DEBUG: "OFF"
WALBERLA_DOUBLE_ACCURACY: "ON"
WALBERLA_BUILD_WITH_CUDA: "OFF"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"
WALBERLA_BUILD_WITH_PYTHON: "OFF"
WALBERLA_STL_BOUNDS_CHECKS: "ON"
tags:
- docker
###############################################################################
## ##
......@@ -1940,7 +2010,7 @@ gcc_10_stl_debug:
###############################################################################
doc:
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13
script:
- cmake --version
- doxygen --version
......@@ -1965,20 +2035,27 @@ doc:
###############################################################################
clang-tidy:
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:11.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-18
stage: "Code Quality"
needs: []
before_script:
- pip install pyyaml
script:
- $CXX --version
- clang-tidy -version
- cmake --version
- mkdir $CI_PROJECT_DIR/build
- cd $CI_PROJECT_DIR/build
- cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWALBERLA_BUFFER_DEBUG=ON -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=ON -DCMAKE_BUILD_TYPE=Debug -DWALBERLA_BUILD_WITH_METIS=ON -DWALBERLA_BUILD_WITH_PARMETIS=ON -DWALBERLA_BUILD_WITH_OPENMESH=ON -DWALBERLA_DOUBLE_ACCURACY=ON
- cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWALBERLA_BUFFER_DEBUG=ON -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=ON -DCMAKE_BUILD_TYPE=Debug -DWALBERLA_BUILD_WITH_METIS=ON -DWALBERLA_BUILD_WITH_PARMETIS=ON -DWALBERLA_BUILD_WITH_OPENMESH=ON -DWALBERLA_DOUBLE_ACCURACY=ON -DWALBERLA_LOGLEVEL=DETAIL
- cmake . -LA
- utilities/filterCompileCommands.py compile_commands.json
- run-clang-tidy.py -quiet | tee clang-tidy-output.txt
- python3 utilities/clang-tidy/analyze.py -p utilities/clang-tidy/analyze.yml -r $CI_PROJECT_DIR -c compile_commands.json -o clang-tidy-output
after_script:
- mkdir -p $CI_PROJECT_DIR/artifacts
- mv $CI_PROJECT_DIR/build/clang-tidy-output $CI_PROJECT_DIR/artifacts/clang-tidy-output
artifacts:
when: always
paths:
- $CI_PROJECT_DIR/build/clang-tidy-output.txt
- $CI_PROJECT_DIR/artifacts/clang-tidy-output
tags:
- docker
......@@ -1987,7 +2064,7 @@ cppcheck:
image: i10git.cs.fau.de:5005/walberla/buildenvs/cppcheck
script:
- cppcheck --version
- cppcheck . --max-configs=10 --enable=warning --enable=style --enable=performance --enable=portability -i src/gui/extern -i src/geometry/structured/extern -i sqlite3.c -i StackWalker.cpp -I src/ -I tests/ -I apps/ -D WALBERLA_BUILD_WITH_MPI -D WALBERLA_BUILD_WITH_METIS -D WALBERLA_BUILD_WITH_PYTHON --xml 2> report.xml
- cppcheck . --max-configs=10 --enable=warning --enable=style --enable=performance --enable=portability -i src/geometry/structured/extern -i sqlite3.c -i StackWalker.cpp -I src/ -I tests/ -I apps/ -D WALBERLA_BUILD_WITH_MPI -D WALBERLA_BUILD_WITH_METIS -D WALBERLA_BUILD_WITH_PYTHON --xml 2> report.xml
- cppcheck-htmlreport --file=report.xml --report-dir=html_report --source-dir=.
artifacts:
untracked: true
......@@ -1999,7 +2076,7 @@ cppcheck:
coverage:
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13
script:
- pip3 install gcovr
- export NUM_CORES=$(nproc --all)
......@@ -2010,7 +2087,7 @@ coverage:
- mkdir build
- cd build
- if dpkg --compare-versions `ompi_info | head -2 | tail -1 | sed 's/[^0-9.]*\([0-9.]*\).*/\1/'` ge 1.10; then export MPIEXEC_PREFLAGS="--allow-run-as-root" ; fi
- cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=OFF -DCMAKE_BUILD_TYPE=DebugOptimized -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS -DWALBERLA_BUILD_WITH_CODEGEN=OFF -DWALBERLA_BUILD_WITH_GCOV=ON
- cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=OFF -DCMAKE_BUILD_TYPE=DebugOptimized -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS -DWALBERLA_BUILD_WITH_CODEGEN=OFF -DWALBERLA_BUILD_WITH_GCOV=ON -DWALBERLA_LOGLEVEL=DETAIL
- cmake . -LA
- make -j $NUM_BUILD_CORES -l $NUM_CORES
- ctest -LE longrun --output-on-failure -j $NUM_CORES --timeout 3000
......@@ -2033,195 +2110,6 @@ coverage:
- docker
###############################################################################
## ##
## Windows Builds ##
## ##
###############################################################################
.win_build_template:
tags:
- win
script:
- export PreferredToolArchitecture=x64
- export OMP_NUM_THREADS=4
- export OMP_WAIT_POLICY="PASSIVE"
- export MSMPI_DISABLE_SHM=1
- cmake --version
- mkdir build
- cd build
- cmake -LA -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_DOUBLE_ACCURACY=$WALBERLA_DOUBLE_ACCURACY -DWARNING_ERROR=ON -G "$CMAKE_GENERATOR" -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE ..
- MSBuild.exe walberla.sln /property:Configuration=$BUILD_CONFIGURATION /verbosity:minimal /maxcpucount:4
- ctest -LE $CTEST_EXCLUDE_LABELS -C $BUILD_CONFIGURATION --output-on-failure -j 4 -T Test
after_script:
- pip3 install lxml
- python3 cmake/ctest2junit.py build > report.xml
variables:
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
BUILD_CONFIGURATION: "Release"
CTEST_EXCLUDE_LABELS: "longrun"
WALBERLA_BUILD_WITH_MPI: "ON"
WALBERLA_BUILD_WITH_OPENMP: "ON"
WALBERLA_DOUBLE_ACCURACY: "ON"
artifacts:
when: always
reports:
junit:
- report.xml
- python/report.xml
msvc-14.1_Hybrid_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
BUILD_CONFIGURATION: "DebugOptimized"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_Hybrid_sp_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
BUILD_CONFIGURATION: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_Hybrid:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_serial_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
BUILD_CONFIGURATION: "DebugOptimized"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_serial:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_mpionly_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
BUILD_CONFIGURATION: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.1_mpionly:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
only:
variables:
- $ENABLE_NIGHTLY_BUILDS
msvc-14.2_Hybrid_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
BUILD_CONFIGURATION: "DebugOptimized"
msvc-14.2_Hybrid_sp_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
BUILD_CONFIGURATION: "DebugOptimized"
WALBERLA_DOUBLE_ACCURACY: "OFF"
msvc-14.2_Hybrid:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
msvc-14.2_serial_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
BUILD_CONFIGURATION: "DebugOptimized"
msvc-14.2_serial:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
WALBERLA_BUILD_WITH_MPI: "OFF"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
msvc-14.2_mpionly_dbg:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
BUILD_CONFIGURATION: "DebugOptimized"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
msvc-14.2_mpionly:
extends: .win_build_template
variables:
WALBERLA_BUILD_WITH_CUDA: "OFF"
CMAKE_GENERATOR: "Visual Studio 16 2019"
WALBERLA_BUILD_WITH_OPENMP: "OFF"
###############################################################################
## ##
## macOS Builds ##
......@@ -2239,13 +2127,15 @@ msvc-14.2_mpionly:
- mpirun --version
- mkdir build
- cd build
- cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DWARNING_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
- cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DWALBERLA_LOGLEVEL=$WALBERLA_LOGLEVEL -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DWARNING_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
- cmake . -LA
- make -j $NUM_BUILD_CORES -l $NUM_CORES
- ctest -LE "$CTEST_EXCLUDE_LABELS|cuda" -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES -T Test
after_script:
- pip3 install lxml
- python3 cmake/ctest2junit.py build > report.xml
variables:
WALBERLA_LOGLEVEL: "DETAIL"
tags:
- macmini
artifacts:
......@@ -2256,7 +2146,10 @@ msvc-14.2_mpionly:
- python/report.xml
mac_Serial_Dbg:
<<: *mac_build_definition
extends: .mac_build_template
before_script:
- pip3 install pystencils==1.3.6
- pip3 install lbmpy==1.3.7
variables:
CMAKE_BUILD_TYPE: "DebugOptimized"
CTEST_EXCLUDE_LABELS: "longrun"
......@@ -2266,7 +2159,10 @@ mac_Serial_Dbg:
WALBERLA_BUILD_WITH_CODEGEN: "ON"
mac_Serial:
<<: *mac_build_definition
extends: .mac_build_template
before_script:
- pip3 install pystencils==1.3.6
- pip3 install lbmpy==1.3.7
variables:
CMAKE_BUILD_TYPE: "Release"
CTEST_EXCLUDE_LABELS: "longrun"
......@@ -2276,7 +2172,10 @@ mac_Serial:
WALBERLA_BUILD_WITH_CODEGEN: "ON"
mac_MpiOnly_Dbg:
<<: *mac_build_definition
extends: .mac_build_template
before_script:
- pip3 install pystencils==1.3.6
- pip3 install lbmpy==1.3.7
variables:
CMAKE_BUILD_TYPE: "DebugOptimized"
CTEST_EXCLUDE_LABELS: "longrun"
......@@ -2287,7 +2186,10 @@ mac_MpiOnly_Dbg:
OMPI_MCA_btl: "self,tcp"
mac_MpiOnly:
<<: *mac_build_definition
extends: .mac_build_template
before_script:
- pip3 install pystencils==1.3.6
- pip3 install lbmpy==1.3.7
variables:
CMAKE_BUILD_TYPE: "Release"
CTEST_EXCLUDE_LABELS: "longrun"
......@@ -2400,23 +2302,18 @@ conda-py36-linux:
benchmark_intel19:
<<: *benchmark_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel-2022
benchmark_gcc8:
<<: *benchmark_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13
benchmark_clang8:
<<: *benchmark_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:8.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17
benchmark_ClangBuildAnalyzer:
script:
- apt-get update --fix-missing
- apt-get -y install apt-transport-https ca-certificates gnupg software-properties-common wget
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
- apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
- apt-get -y install cmake ninja-build
- cmake --version
- ccache --version
- mpirun --version
......@@ -2437,7 +2334,7 @@ benchmark_ClangBuildAnalyzer:
- ninja all
- ClangBuildAnalyzer --stop . CBA
- ClangBuildAnalyzer --analyze CBA
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
image: i10git.cs.fau.de:5005/walberla/buildenvs/clang-17
tags:
- docker-benchmark
only:
......@@ -2457,9 +2354,12 @@ continuous_benchmark_trigger:
--form "ref=master"
--form "variables[WALBERLA_GITLAB_INSTANCE]=https://$CI_SERVER_HOST"
--form "variables[WALBERLA_PROJECT_ID]=$CI_PROJECT_PATH"
--form "variables[WALBERLA_BRANCH]=$CI_DEFAULT_BRANCH"
--form "variables[WALBERLA_BRANCH]=$CI_COMMIT_BRANCH"
--form "variables[WALBERLA_COMMIT]=$CI_COMMIT_SHA"
"$CB_TRIGGER_API_URL"
rules:
- if: '$CI_PROJECT_PATH == "walberla/walberla" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
- when: never
\ No newline at end of file
- if: $CI_PIPELINE_SOURCE != "merge_request_event"
when: manual
allow_failure: true
\ No newline at end of file
[submodule "extern/pybind11"]
path = extern/pybind11
url = https://github.com/pybind/pybind11.git
......@@ -31,6 +31,7 @@ Matthias Markl
Michael Kuron
Nils Kohl
Paulo Carvalho
Philipp Suffa
Regina Ammer
Sagar Dolas
Sebastian Eibl
......
......@@ -5,7 +5,7 @@
## Contents:
## - definition of build options
## - compiler variables ( c++ standard, warnings etc. )
## - Finding of service libraries. Required: none, Optional: Boost, MPI, FFTW3, METIS, OpenMesh, Python
## - Finding of service libraries. Required: none, Optional: MPI, FFTW3, METIS, OpenMesh, Python
## the include paths are set, and the libraries are added to variable SERVICE_LIBS
## - Subdirectory cmake lists are called
## -> src/ this folder contains all modules, each module (that contains c or cpp files) is linked to a
......@@ -25,12 +25,12 @@
##
############################################################################################################################
CMAKE_MINIMUM_REQUIRED (VERSION 3.14)
CMAKE_MINIMUM_REQUIRED (VERSION 3.24)
PROJECT ( walberla )
set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${walberla_SOURCE_DIR}/cmake )
set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${walberla_SOURCE_DIR}/cmake ${walberla_SOURCE_DIR}/cmake/compileroptions )
include ( waLBerlaFunctions )
......@@ -57,7 +57,6 @@ include( CTest )
# Build options
option ( WALBERLA_DOUBLE_ACCURACY "Floating point accuracy, defaults to double" ON )
option ( WALBERLA_ENABLE_GUI "Compile with GUI" )
option ( WALBERLA_BUILD_TESTS "Build Testcases" ON )
option ( WALBERLA_BUILD_BENCHMARKS "Build Benchmarks" ON )
......@@ -99,9 +98,12 @@ option ( WALBERLA_PROFILE_USE "Uses Profile to optimize"
option ( WALBERLA_OPTIMIZE_FOR_LOCALHOST "Enable compiler optimizations spcific to localhost" )
option ( WALBERLA_LOG_SKIPPED "Log skipped cmake targets" ON )
option ( WALBERLA_DEPS_ERROR "Fail if module dependencies are not met" OFF )
option ( WALBERLA_GIT_SUBMODULE_AUTO "Check submodules during cmake run" ON )
option ( WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT "Experimental half precision support" OFF )
# Installation Directory
set ( CMAKE_INSTALL_PREFIX /usr/local/waLBerla CACHE STRING "The default installation directory." )
......@@ -174,11 +176,6 @@ if( CMAKE_CXX_COMPILER MATCHES "icpc" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "icpc"
ENDIF(XILD)
MARK_AS_ADVANCED(XILD)
if( CMAKE_VERSION VERSION_LESS 3.11.0 )
set( CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17" )
set( CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_CXX17_STANDARD_COMPILE_OPTION )
add_flag ( CMAKE_CXX_FLAGS ${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} )
endif()
if( CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.0.5" )
# std::filesystem uses ABI tags, which don't work 19.0.2 but do in 19.0.5
add_flag ( CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0" )
......@@ -191,6 +188,7 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_INTEL )
# Check for Gnu compiler
if ( CMAKE_COMPILER_IS_GNUCXX AND NOT WALBERLA_CXX_COMPILER_IS_INTEL )
option ( WALBERLA_CXX_COMPILER_IS_GNU "Use gnu compiler" ON )
include(GNU)
else()
option ( WALBERLA_CXX_COMPILER_IS_GNU "Use gnu compiler" OFF )
endif()
......@@ -199,6 +197,7 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_GNU )
# Check for Visual Studio
if ( MSVC )
option ( WALBERLA_CXX_COMPILER_IS_MSVC "Use Visual Studio compiler" ON )
include( MSVC )
else()
option ( WALBERLA_CXX_COMPILER_IS_MSVC "Use Visual Studio compiler" OFF )
endif()
......@@ -207,21 +206,15 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_MSVC )
# Check for IBM compiler
if( CMAKE_CXX_COMPILER MATCHES "xlc" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "xlc" )
option ( WALBERLA_CXX_COMPILER_IS_IBM "Use IBM compiler" ON )
include(IBM)
else()
option ( WALBERLA_CXX_COMPILER_IS_IBM "Use IBM compiler" OFF )
endif()
mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_IBM )
# Check for NEC SX compiler
if( CMAKE_CXX_COMPILER MATCHES "sxc" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "sxc" OR CMAKE_CXX_COMPILER MATCHES "sxmpic" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "sxmpic" )
option ( WALBERLA_CXX_COMPILER_IS_NEC "Use NEC compiler" ON )
else()
option ( WALBERLA_CXX_COMPILER_IS_NEC "Use NEC compiler" OFF )
endif()
mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_NEC )
if( CMAKE_CXX_COMPILER MATCHES "clang" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "clang" OR CMAKE_CXX_COMPILER MATCHES "hipcc" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" )
option ( WALBERLA_CXX_COMPILER_IS_CLANG "Use clang compiler" ON )
include(Clang)
else()
option ( WALBERLA_CXX_COMPILER_IS_CLANG "Use clang compiler" OFF )
endif()
......@@ -230,17 +223,20 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_CLANG )
# Check for Cray compiler
if( CMAKE_CXX_COMPILER_ID MATCHES Cray )
option ( WALBERLA_CXX_COMPILER_IS_CRAY "Use Cray compiler" ON )
include(Cray)
else()
option ( WALBERLA_CXX_COMPILER_IS_CRAY "Use Cray compiler" OFF )
endif()
mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_CRAY )
if( CMAKE_CXX_COMPILER MATCHES "pgc\\+\\+" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "pgc\\+\\+" )
option ( WALBERLA_CXX_COMPILER_IS_PGI "Use PGI compiler" ON )
# Check for Fujitsu compiler
if( CMAKE_CXX_COMPILER_ID MATCHES FujitsuClang )
option ( WALBERLA_CXX_COMPILER_IS_FUJITSUCLANG "Use FujitsuClang compiler" ON )
include(FujitsuClang)
else()
option ( WALBERLA_CXX_COMPILER_IS_PGI "Use PGI compiler" OFF )
option ( WALBERLA_CXX_COMPILER_IS_FUJITSUCLANG "Use FujitsuClang compiler" OFF )
endif()
mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_PGI )
mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_FUJITSUCLANG )
# Check for MPI wrapper
get_filename_component( CXX_COMPILER_WITHOUT_PATH ${CMAKE_CXX_COMPILER} NAME )
......@@ -254,6 +250,7 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_MPI_WRAPPER )
# Check for intel llvm compiler
if( CMAKE_CXX_COMPILER MATCHES "icpx" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "icpx" )
option ( WALBERLA_CXX_COMPILER_IS_INTELLLVM "Use Intel LLVM compiler" ON )
include(IntelLLVM)
else()
option ( WALBERLA_CXX_COMPILER_IS_INTELLLVM "Use Intel LLVM compiler" OFF )
endif()
......@@ -269,189 +266,7 @@ mark_as_advanced ( WALBERLA_CXX_COMPILER_IS_INTELLLVM )
##
############################################################################################################################
# Profile guided optimization
if ( WALBERLA_PROFILE_GENERATE )
if( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag( CMAKE_CXX_FLAGS "-prof-gen" )
file( MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/profile" )
add_flag( CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile" )
elseif( WALBERLA_CXX_COMPILER_IS_GNU )
add_flag( CMAKE_CXX_FLAGS "-fprofile-generate" )
elseif( WALBERLA_CXX_COMPILER_IS_MSVC )
add_flag ( CMAKE_CXX_FLAGS "/GL" )
add_flag ( CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGINSTRUMENT" )
add_flag ( CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGINSTRUMENT" )
add_flag ( CMAKE_EXE_LINKER_FLAGS "/LTCG:PGINSTRUMENT" )
endif()
endif()
if ( WALBERLA_PROFILE_USE )
if( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag( CMAKE_CXX_FLAGS "-prof-use" )
add_flag( CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile" )
elseif( WALBERLA_CXX_COMPILER_IS_GNU )
add_flag( CMAKE_CXX_FLAGS "-fprofile-use" )
elseif( WALBERLA_CXX_COMPILER_IS_MSVC )
add_flag ( CMAKE_CXX_FLAGS "/GL" )
add_flag ( CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGOPTIMIZE" )
add_flag ( CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGOPTIMIZE" )
add_flag ( CMAKE_EXE_LINKER_FLAGS "/LTCG:PGOPTIMIZE" )
endif()
endif()
# common flags for intel and g++
if ( NOT WARNING_DISABLE AND ( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL ) )
add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow" )
endif()
# C++ language features for NEC compiler
if( WALBERLA_CXX_COMPILER_IS_NEC )
set( CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION "-Kcpp${CMAKE_CXX_STANDARD}" )
set( CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION )
add_flag ( CMAKE_CXX_FLAGS "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} -Krtti -Kexceptions -size_t64 -Kgcc" )
add_flag ( CMAKE_CXX_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN" )
add_flag ( CMAKE_CXX_FLAGS "-Tnoauto,used" )
add_flag ( CMAKE_EXE_LINKER_FLAGS "-Wl,-h,muldefs" )
add_flag ( CMAKE_C_FLAGS "-size_t64 -Kgcc" )
add_flag ( CMAKE_C_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN" )
add_flag ( CMAKE_C_FLAGS "-DSQLITE_OMIT_WAL -DHAVE_UTIME -DTHREADSAFE=0" )
set( CMAKE_RANLIB /bin/true )
set( CMAKE_SKIP_BUILD_RPATH TRUE )
set( CMAKE_C_FLAGS_DEBUGOPTIMIZED "-Chopt -g" )
set( CMAKE_C_FLAGS_DEBUG "-Cdebug -g" )
set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "-Chopt -g" )
set( CMAKE_CXX_FLAGS_DEBUG "-Cdebug -g" )
endif()
# Fixes linker errors with IBM compiler
if( WALBERLA_CXX_COMPILER_IS_IBM )
add_flag ( CMAKE_CXX_FLAGS "-qpic=large" )
endif()
# Fixes linker errors with Cray compiler
if( WALBERLA_CXX_COMPILER_IS_CRAY )
add_flag ( CMAKE_EXE_LINKER_FLAGS "-dynamic -L/opt/gcc/4.9.3/snos/lib64" )
endif()
# Silences compiler and linker warnings and information with the IBM compiler
if( WALBERLA_CXX_COMPILER_IS_IBM )
add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1586-267" ) # 1586-267 (I) Inlining of specified subprogram failed due to the presence of a C++ exception handler
add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1586-266" ) # 1586-266 (I) Inlining of specified subprogram failed due to the presence of a global label
add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1500-030" ) # 1500-030: (I) INFORMATION: [...] Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.
add_flag ( CMAKE_C_FLAGS "-qsuppress=1500-030" ) # 1500-030: (I) INFORMATION: [...] Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.
endif()
# Silences compiler and linker warnings and information with the Cray compiler
if( WALBERLA_CXX_COMPILER_IS_CRAY )
set( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem " )
add_flag ( CMAKE_CXX_FLAGS "-h nomessage=1" ) # CC-1 The source file does not end with a new-line character.
add_flag ( CMAKE_C_FLAGS "-DSQLITE_HAVE_ISNAN" ) # SQLite will not work correctly with the -ffast-math option of GCC.
add_flag ( CMAKE_CXX_FLAGS "-DSQLITE_HAVE_ISNAN" ) # SQLite will not work correctly with the -ffast-math option of GCC.
endif()
# Silences compiler and linker warnings and information with the PGI compiler
if( WALBERLA_CXX_COMPILER_IS_PGI )
add_flag ( CMAKE_CXX_FLAGS "--display_error_number" )
add_flag ( CMAKE_C_FLAGS "--display_error_number" )
if( CMAKE_VERSION VERSION_LESS "3.19" )
# https://github.com/Kitware/CMake/commit/52eee1938919deb59cc2b51d44f365f0d9a418e5
set( CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION "--c++${CMAKE_CXX_STANDARD}" )
endif()
add_flag ( CMAKE_CXX_FLAGS "--diag_suppress=1" ) # last line of file ends without a newline
add_flag ( CMAKE_CXX_FLAGS "--diag_suppress=111" ) # statement is unreachable
add_flag ( CMAKE_C_FLAGS "--diag_suppress=111" ) # statement is unreachable
add_flag ( CMAKE_C_FLAGS "--diag_suppress=550" ) # variable [...] was set but never used
add_flag ( CMAKE_C_FLAGS "--diag_suppress=191" ) # type qualifier is meaningless on cast type
endif()
# architecture optimization
if( WALBERLA_OPTIMIZE_FOR_LOCALHOST )
if( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL OR WALBERLA_CXX_COMPILER_IS_CLANG )
if(( CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64" )
# no -march=native available on this compiler, but there is currently only one such processor
else()
add_flag ( CMAKE_CXX_FLAGS "-march=native" )
add_flag ( CMAKE_C_FLAGS "-march=native" )
endif()
if( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag ( CMAKE_CXX_FLAGS "-xhost" )
add_flag ( CMAKE_C_FLAGS "-xhost" )
endif()
if( EXISTS "/proc/sys/abi/sve_default_vector_length" )
file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH )
add_flag ( CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
add_flag ( CMAKE_C_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
endif()
endif()
endif()
# warning flags
if( WALBERLA_CXX_COMPILER_IS_INTEL )
# system headers are also supported by intel, but cmake does not recognize that
set( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem " )
add_flag ( CMAKE_CXX_FLAGS "-wd2928,2504,2259,1682,597" )
elseif( WALBERLA_CXX_COMPILER_IS_GNU )
add_flag ( CMAKE_CXX_FLAGS "-Wfloat-equal -Wextra" )
elseif( WALBERLA_CXX_COMPILER_IS_NEC )
add_flag ( CMAKE_CXX_FLAGS "-wall" )
endif()
if ( WARNING_PEDANTIC AND WALBERLA_CXX_COMPILER_IS_GNU )
add_flag ( CMAKE_CXX_FLAGS "-pedantic" )
endif ( )
# omit deprecated warnings
if( NOT WARNING_DEPRECATED)
if( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag( CMAKE_CXX_FLAGS "-wd1478" ) # Disable compiler warning # 1478: "declared as deprecated"
elseif( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag ( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations")
endif()
endif()
if ( WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow -Wno-c++11-extensions -Qunused-arguments" )
endif ( )
if( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL OR WALBERLA_CXX_COMPILER_IS_CLANG )
if ( WALBERLA_STL_BOUNDS_CHECKS )
add_definitions ( "-D_GLIBCXX_DEBUG" )
add_definitions ( "-D_LIBCPP_DEBUG=1" )
endif()
endif()
# Omit maybe-uninitialized for gcc 12 for now. Check if it is a bug or a real problem:
if( WALBERLA_CXX_COMPILER_IS_GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0" )
add_flag( CMAKE_CXX_FLAGS "-Wno-maybe-uninitialized" )
endif()
# GCC 12 reports a "array bounds" warning at UniformBufferedScheme.h:297 (error: array subscript 26 is above array bounds of)
# when e.g. compiling the GhostLayerCommTest.
# Since this is most probably a bug in GCC disable the warning for now
if( WALBERLA_CXX_COMPILER_IS_GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0" )
add_flag( CMAKE_CXX_FLAGS "-Wno-array-bounds" )
endif()
#fastmath
if ( WALBERLA_BUILD_WITH_FASTMATH )
if ( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag( CMAKE_CXX_FLAGS "-fp-model fast=2 -no-prec-sqrt -no-prec-div" )
endif()
if ( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag( CMAKE_CXX_FLAGS "-ffast-math")
endif()
if( WALBERLA_CXX_COMPILER_IS_MSVC )
add_flag( CMAKE_CXX_FLAGS "/fp:fast" )
endif()
else()
if( WALBERLA_CXX_COMPILER_IS_INTELLLVM )
add_flag( CMAKE_CXX_FLAGS "-fp-model=precise")
endif()
endif()
# Xcode generator disables -isystem flag, even though current versions of Xcode support it
if(CMAKE_GENERATOR STREQUAL "Xcode")
......@@ -460,127 +275,23 @@ if(CMAKE_GENERATOR STREQUAL "Xcode")
endif()
#GCC 5+ ABI selection
if( WALBERLA_CXX_COMPILER_IS_GNU )
if( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0.0 )
option ( WALBERLA_USE_CPP11_ABI "On GCC 5+ use the C++11 ABI" ON )
if( WALBERLA_USE_CPP11_ABI )
add_flag( CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=1" )
else()
add_flag( CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0" )
endif()
endif()
endif()
# disable Xcode 7.3+ linker deduplication pass to speed up linking in debug mode
if ( APPLE )
execute_process( COMMAND ${CMAKE_LINKER} -v OUTPUT_VARIABLE LINKER_VERSION ERROR_VARIABLE LINKER_VERSION )
string( REGEX MATCH "ld64-[0-9\\.\\-]+" LINKER_VERSION ${LINKER_VERSION} )
string( REGEX MATCHALL "[^\\-]+" LINKER_VERSION ${LINKER_VERSION} )
list( GET LINKER_VERSION 0 LINKER_TYPE )
list( GET LINKER_VERSION 1 LINKER_VERSION )
if( LINKER_TYPE STREQUAL "ld64" AND LINKER_VERSION VERSION_GREATER 264.3.101 )
add_flag( CMAKE_EXE_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
add_flag( CMAKE_MODULE_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
add_flag( CMAKE_SHARED_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
endif()
endif()
############################################################################################################################
############################################################################################################################
##
## Find newer C++ libraries, which may only be available in std::experimental on some compilers
##
############################################################################################################################
#if ( APPLE )
# execute_process( COMMAND ${CMAKE_LINKER} -v OUTPUT_VARIABLE LINKER_VERSION ERROR_VARIABLE LINKER_VERSION )
# string( REGEX MATCH "ld64-[0-9\\.\\-]+" LINKER_VERSION ${LINKER_VERSION} )
# string( REGEX MATCHALL "[^\\-]+" LINKER_VERSION ${LINKER_VERSION} )
# list( GET LINKER_VERSION 0 LINKER_TYPE )
# list( GET LINKER_VERSION 1 LINKER_VERSION )
# if( LINKER_TYPE STREQUAL "ld64" AND LINKER_VERSION VERSION_GREATER 264.3.101 )
# add_flag( CMAKE_EXE_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
# add_flag( CMAKE_MODULE_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
# add_flag( CMAKE_SHARED_LINKER_FLAGS_DEBUG "-Wl,-no_deduplicate")
# endif()
#endif()
try_compile( WALBERLA_USE_STD_FILESYSTEM "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestStdFilesystem.cpp"
COMPILE_DEFINITIONS -DWALBERLA_USE_STD_FILESYSTEM COPY_FILE "${CMAKE_CURRENT_BINARY_DIR}/TestStdFilesystem" OUTPUT_VARIABLE TRY_COMPILE_OUTPUT)
if( WALBERLA_USE_STD_FILESYSTEM )
# detect https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90050 by checking whether it segfaults
execute_process( COMMAND "${CMAKE_CURRENT_BINARY_DIR}/TestStdFilesystem" OUTPUT_QUIET RESULT_VARIABLE WALBERLA_STD_FILESYSTEM_WORKS )
endif()
if( WALBERLA_USE_STD_FILESYSTEM AND WALBERLA_STD_FILESYSTEM_WORKS EQUAL 0 )
message( STATUS "Found std::filesystem")
else()
try_compile( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestStdFilesystem.cpp"
COMPILE_DEFINITIONS -DWALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM OUTPUT_VARIABLE TRY_COMPILE_OUTPUT)
if( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
message( STATUS "Found std::experimental::filesystem")
endif()
if( NOT WALBERLA_CXX_COMPILER_IS_MSVC AND NOT WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
unset( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM CACHE )
try_compile( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestStdFilesystem.cpp"
COMPILE_DEFINITIONS -DWALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM LINK_LIBRARIES stdc++fs OUTPUT_VARIABLE TRY_COMPILE_OUTPUT)
if( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
message( STATUS "Found std::experimental::filesystem in libstdc++fs")
list ( APPEND SERVICE_LIBS -lstdc++fs )
endif()
endif()
if( NOT WALBERLA_CXX_COMPILER_IS_MSVC AND NOT WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
unset( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM CACHE )
try_compile( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestStdFilesystem.cpp"
COMPILE_DEFINITIONS -DWALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM LINK_LIBRARIES c++experimental OUTPUT_VARIABLE TRY_COMPILE_OUTPUT)
if( WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
message( STATUS "Found std::experimental::filesystem in libc++experimental")
list ( APPEND SERVICE_LIBS -lc++experimental )
endif()
endif()
if( NOT WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM AND NOT WALBERLA_USE_STD_FILESYSTEM)
message( WARNING ${TRY_COMPILE_OUTPUT} )
message( FATAL_ERROR "Neither std::filesystem nor std::experimental::filesystem are available" )
endif()
endif()
############################################################################################################################
##
## Visual Studio Setup
##
############################################################################################################################
if ( WALBERLA_CXX_COMPILER_IS_MSVC )
string( REGEX REPLACE "[/-]W[0-4]" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ) # remove default warning flags
option ( WALBERLA_GROUP_PROJECTS "Flag if the projects are grouped or in a flat hierarchy" ON )
option ( WALBERLA_GROUP_FILES "Flag if the files are grouped or in a flat hierarchy" ON )
set_property ( GLOBAL PROPERTY USE_FOLDERS ${WALBERLA_GROUP_PROJECTS} )
option ( WALBERLA_VS_MULTI_PROCESS_BUILD "Use the /mp option for VS builds" ON )
if( WALBERLA_VS_MULTI_PROCESS_BUILD )
add_flag ( CMAKE_CXX_FLAGS "-MP" ) # enable multi-threaded compiling
endif()
add_definitions ( "-DNOMINMAX" ) # Disable Min/Max-Macros
add_definitions ( "-D_WIN32_WINNT=0x501" ) # Minimum Windows versions is Windows XP
add_definitions ( "-DWINVER=0x501" ) # Minimum Windows versions is Windows XP
add_definitions ( "-D_CRT_SECURE_NO_WARNINGS" ) # disable warnings promoting Microsoft's security enhanced CRT
add_definitions ( "-D_SCL_SECURE_NO_WARNINGS" ) # disable warnings triggered by Microsoft's checked iterators
add_flag ( CMAKE_CXX_FLAGS "-W4" ) # set warning level to maximum
add_flag ( CMAKE_CXX_FLAGS "-bigobj" ) # enable big object files
add_flag ( CMAKE_CXX_FLAGS "-wd4127" ) # disable compiler warning C4127: "conditional expression is constant"
add_flag ( CMAKE_CXX_FLAGS "-wd4512" ) # disable compiler warning C4512: "assignment operator could not be generated"
add_flag ( CMAKE_CXX_FLAGS "-wd4913" ) # disable compiler warning C4512: "user defined binary operator ',' exists but
# no overload could convert all operands, default built-in binary operator ','
# used"
add_flag ( CMAKE_CXX_FLAGS "-wd4702" ) # disable compiler warning C4702: "unreachable code"
add_flag ( CMAKE_CXX_FLAGS "-wd4505" ) # disable compiler warning C4505: "unreferenced local function has been removed"
add_flag ( CMAKE_CXX_FLAGS "-wd4503" ) # disable compiler warning C4503: "'identifier' : decorated name length exceeded, name was truncated"
if ( WARNING_ERROR )
add_flag ( CMAKE_CXX_FLAGS "-WX" ) # Treat warnings as errors
endif ( )
if( NOT WARNING_DEPRECATED)
add_definitions( "-D_CRT_SECURE_NO_DEPRECATE" )
add_definitions( "-D_SCL_SECURE_NO_DEPRECATE" )
add_flag ( CMAKE_CXX_FLAGS "-wd4996" ) # Disable compiler warning C4996: "declared as deprecated"
endif()
endif ( )
############################################################################################################################
############################################################################################################################
##
......@@ -589,9 +300,6 @@ endif ( )
#############################################################################################################################
if ( WALBERLA_BUILD_WITH_CODEGEN OR WALBERLA_BUILD_WITH_PYTHON )
if ( DEFINED PYTHON_ROOT_DIR OR DEFINED PYTHON_EXECUTABLE )
message( WARNING "Setting PYTHON_ROOT_DIR or PYTHON_EXECUTABLE will likely not work. Use Python_ROOT_DIR instead." )
endif ()
cmake_policy( SET CMP0094 NEW )
set( Python_FIND_FRAMEWORK LAST )
find_package( Python COMPONENTS Interpreter Development )
......@@ -603,7 +311,7 @@ endif ()
##
#############################################################################################################################
if ( WALBERLA_BUILD_WITH_CODEGEN )
set(LBMPY_MIN_VERSION 1.2)
set(LBMPY_MIN_VERSION 1.3.7)
execute_process(COMMAND ${Python_EXECUTABLE} -c "import lbmpy; print(lbmpy.__version__)"
RESULT_VARIABLE LBMPY_FOUND OUTPUT_VARIABLE LBMPY_VERSION)
if(NOT LBMPY_FOUND EQUAL 0)
......@@ -637,53 +345,16 @@ endif()
##
#############################################################################################################################
if ( WALBERLA_BUILD_WITH_PYTHON )
if(WALBERLA_CXX_COMPILER_IS_INTEL)
# Intel C++17 support introduced in 2.6.2 (https://github.com/pybind/pybind11/pull/2729)
set(PYBIND11_MINIMUM_VERSION "2.6.2")
else()
set(PYBIND11_MINIMUM_VERSION "2.6.0")
endif()
execute_process(COMMAND ${Python_EXECUTABLE} -c "import pybind11; print(pybind11._version.__version__)"
OUTPUT_VARIABLE pybind11_VERSION ERROR_QUIET RESULT_VARIABLE pybind11_VERSION_RESULT)
string(STRIP "${pybind11_VERSION}" pybind11_VERSION)
if(pybind11_VERSION_RESULT EQUAL "0" AND pybind11_VERSION VERSION_GREATER_EQUAL "${PYBIND11_MINIMUM_VERSION}")
execute_process(COMMAND ${Python_EXECUTABLE} -m pybind11 --cmakedir
OUTPUT_VARIABLE PYBIND11_CMAKE_PATH)
string(STRIP "${PYBIND11_CMAKE_PATH}" PYBIND11_CMAKE_PATH)
find_package(pybind11 PATHS "${PYBIND11_CMAKE_PATH}" NO_DEFAULT_PATH REQUIRED)
else()
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
# Update submodules as needed
if(WALBERLA_GIT_SUBMODULE_AUTO)
message(STATUS "Submodule update")
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_SUBMOD_RESULT)
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
endif()
endif()
endif()
if(NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/pybind11/CMakeLists.txt")
if(EXISTS "${PROJECT_SOURCE_DIR}/.git")
message(FATAL_ERROR "Please update git submodules or install pybind11 via pip.")
else()
message(FATAL_ERROR "Please install pybind11 via pip or download it to ${PROJECT_SOURCE_DIR}/extern/pybind11.")
endif()
endif()
include(FetchContent)
add_subdirectory(extern/pybind11)
FetchContent_Declare(
pybind11
GIT_REPOSITORY https://github.com/pybind/pybind11.git
GIT_TAG v2.13.6
)
if(pybind11_VERSION VERSION_LESS "2.6.2")
# if pybind11 was installed into ${Python_INCLUDE_DIRS} (e.g. by pip), that will have a higher priority than the Git submodule unless we reorder the search path
# introduced in 2.6.0 (https://github.com/pybind/pybind11/issues/2709), fixed in 2.6.2 (https://github.com/pybind/pybind11/pull/2716)
set_property( TARGET pybind11::pybind11
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/extern/pybind11/include" "${Python_INCLUDE_DIRS}")
endif()
endif()
FetchContent_MakeAvailable(pybind11)
# a python module is a shared library - so everything has to be compiled to position independent code
# otherwise linking the static libs into the shared lib will result in errors
......@@ -700,53 +371,6 @@ if ( WALBERLA_BUILD_WITH_PYTHON )
endif()
############################################################################################################################
##
## BOOST Libraries
##
#############################################################################################################################
set ( Boost_NO_BOOST_CMAKE ON)
# This variable is necessary, if the CMAKE version used is not aware of a more recent boost version (keep this up to date!)
set ( Boost_ADDITIONAL_VERSIONS
"1.45" "1.45.0" "1.46" "1.46.0" "1.46.1" "1.47" "1.47.0" "1.48" "1.48.0" "1.49" "1.49.0"
"1.50" "1.50.0" "1.51" "1.51.0" "1.52" "1.52.0" "1.53" "1.53.0" "1.54" "1.54.0" "1.55" "1.55.0"
"1.56" "1.56.0" "1.57" "1.57.0" "1.58" "1.58.0" "1.59" "1.59.0" "1.60" "1.60.0" "1.61" "1.61.0" "1.62" "1.62.0" "1.63" "1.63.0"
"1.64.0" "1.65.0" "1.65.1" "1.66.0" "1.67.0" "1.68.0" "1.69.0" "1.70.0" "1.71.0" "1.72.0" "1.73.0" "1.74.0")
# if you defined BOOST_ROOT or BOOST_BASE in your environment use it here to find boost too
if ( NOT BOOST_ROOT )
foreach ( var BOOST_ROOT BOOST_BASE )
if ( NOT "$ENV{${var}}" STREQUAL "" )
message ( STATUS "Use environment boost directory: $ENV{${var}}" )
set ( BOOST_ROOT $ENV{${var}} CACHE INTERNAL "")
break ( )
endif ( )
endforeach ( )
endif ( )
find_package ( Boost )
if ( Boost_FOUND )
if(CMAKE_GENERATOR STREQUAL "Xcode")
# this is needed because the SYSTEM flag to include_directories does not work
add_flag ( CMAKE_CXX_FLAGS "-isystem ${Boost_INCLUDE_DIRS}" )
else()
include_directories ( SYSTEM ${Boost_INCLUDE_DIRS} )
endif()
add_definitions ( -DBOOST_ALL_NO_LIB ) # Disable Boost auto-linking (CMAKE does that for us...)
set( WALBERLA_BUILD_WITH_BOOST TRUE CACHE INTERNAL "Build with Boost" )
else( Boost_FOUND )
set( WALBERLA_BUILD_WITH_BOOST FALSE CACHE INTERNAL "Build with Boost" )
endif( Boost_FOUND )
############################################################################################################################
############################################################################################################################
##
......@@ -765,24 +389,6 @@ if ( Threads_FOUND )
endif()
############################################################################################################################
##
## backtrace may be in a separate library
##
############################################################################################################################
if ( NOT WIN32 AND (WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL OR WALBERLA_CXX_COMPILER_IS_CLANG))
find_package ( Backtrace QUIET )
if ( Backtrace_FOUND )
list ( APPEND SERVICE_LIBS ${Backtrace_LIBRARIES} )
set ( WALBERLA_BUILD_WITH_BACKTRACE ON )
set ( WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER} )
endif ( Backtrace_FOUND )
endif()
############################################################################################################################
##
## MPI
......@@ -862,29 +468,6 @@ endif()
############################################################################################################################
##
## Qt
##
############################################################################################################################
option (WALBERLA_ENABLE_GUI "This flag builds the graphical user interface, depends on Qt Libraries")
if ( WALBERLA_ENABLE_GUI )
message( WARNING "The GUI is deprecated and will probably not work correctly." )
find_package( Qt4 COMPONENTS QtCore QtGui QtOpenGL QtXml REQUIRED )
set( OpenGL_GL_PREFERENCE LEGACY )
find_package( OpenGL REQUIRED )
INCLUDE( ${QT_USE_FILE} )
list ( APPEND SERVICE_LIBS ${OPENGL_LIBRARIES} ${QT_LIBRARIES} )
endif(WALBERLA_ENABLE_GUI)
############################################################################################################################
############################################################################################################################
##
## METIS
......@@ -959,7 +542,7 @@ if( (NOT DEFINED WALBERLA_BUILD_WITH_OPENMESH) OR WALBERLA_BUILD_WITH_OPENMESH )
add_definitions(-D_USE_MATH_DEFINES )
endif()
else()
message(" If OpenMesh required, set OPENMESH_DIR to the OpenMesh directory.")
message(" If OpenMesh required, set OPENMESH_LIBRARY_DIR to the OpenMesh directory.")
set( WALBERLA_BUILD_WITH_OPENMESH OFF CACHE BOOL "Build with OpenMesh support" FORCE )
endif()
endif()
......@@ -978,18 +561,6 @@ set( CMAKE_MODULE_LINKER_FLAGS_DEBUGOPTIMIZED ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}
set_property(GLOBAL PROPERTY DEBUG_CONFIGURATIONS Debug DebugOptimized)
if ( WALBERLA_CXX_COMPILER_IS_MSVC )
string(REPLACE "/Od" "/O2" CMAKE_C_FLAGS_DEBUGOPTIMIZED ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
string(REPLACE "/Ob0" "/Ob2" CMAKE_C_FLAGS_DEBUGOPTIMIZED ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUGOPTIMIZED ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
string(REPLACE "/Od" "/O2" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
string(REPLACE "/Ob0" "/Ob2" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
elseif( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL OR WALBERLA_CXX_COMPILER_IS_CLANG )
set( CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
endif()
set(CMAKE_C_FLAGS_DEBUGOPTIMIZED ${CMAKE_C_FLAGS_DEBUGOPTIMIZED} CACHE STRING
"Flags used by the compiler during DebugOptimized builds")
set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} CACHE STRING
......@@ -1031,7 +602,7 @@ endif()
option ( WALBERLA_THREAD_SAFE_LOGGING "Enables/Disables thread-safe logging" ON )
if ( WALBERLA_BUILD_WITH_OPENMP )
if ( WALBERLA_BUILD_WITH_OPENMP AND NOT OpenMP_FOUND )
if( APPLE AND EXISTS /opt/local/lib/libomp AND EXISTS /opt/local/include/libomp ) # find libomp from MacPorts
set( CMAKE_FRAMEWORK_PATH /opt/local/lib/libomp )
set( CMAKE_INCLUDE_PATH /opt/local/include/libomp )
......@@ -1045,30 +616,7 @@ if ( WALBERLA_BUILD_WITH_OPENMP )
include_directories( ${OpenMP_CXX_INCLUDE_DIRS} )
endif()
else()
#workarounds
if ( WALBERLA_CXX_COMPILER_IS_NEC )
message( STATUS "Enabling OpenMP workaround for NEC")
add_flag ( CMAKE_C_FLAGS "-Popenmp" )
add_flag ( CMAKE_CXX_FLAGS "-Popenmp" )
else()
message(FATAL_ERROR "Could NOT enable OpenMP")
endif()
endif()
if( WALBERLA_CXX_COMPILER_IS_CLANG OR WALBERLA_CXX_COMPILER_IS_INTELLLVM )
# check for bug in combination with OpenMP and sign conversion https://bugs.llvm.org/show_bug.cgi?id=48387
try_compile( WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
COMPILE_DEFINITIONS -Werror )
if( NOT ${WALBERLA_CLANG_OPENMP_BUG} )
message( WARNING "Setting -Wno-sign-conversion due to a compiler bug in LLVM (https://bugs.llvm.org/show_bug.cgi?id=48387)" )
add_flag( CMAKE_CXX_FLAGS "-Wno-sign-conversion" )
endif()
endif()
else()
if ( WALBERLA_CXX_COMPILER_IS_CRAY )
add_flag ( CMAKE_C_FLAGS "-h noomp" )
add_flag ( CMAKE_CXX_FLAGS "-h noomp" )
message(FATAL_ERROR "Could NOT enable OpenMP")
endif()
endif()
############################################################################################################################
......@@ -1113,11 +661,6 @@ if ( WALBERLA_BUILD_WITH_CUDA )
endif ( )
endif ( )
# old nvcc compilers and newer stdlibc++ are incompatible. This needs to be checked!
if (WALBERLA_STL_BOUNDS_CHECKS AND WALBERLA_BUILD_WITH_CODEGEN AND WALBERLA_BUILD_WITH_CUDA AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS "11.0" AND WALBERLA_CXX_COMPILER_IS_GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")
message(FATAL_ERROR "WALBERLA_STL_BOUNDS_CHECKS is not compatible with your CUDA compiler")
endif()
if (WALBERLA_BUILD_WITH_CUDA AND (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS "11.0" OR CMAKE_VERSION VERSION_LESS 3.18.0))
# CUDA < 11 does not support C++17. std::experimental::any works with C++14, unlike std::any.
set(CMAKE_CUDA_STANDARD 14)
......@@ -1166,35 +709,6 @@ endif ( )
############################################################################################################################
##
## Testing Coverage
##
############################################################################################################################
if (WALBERLA_BUILD_WITH_GCOV AND CMAKE_COMPILER_IS_GNUCXX )
add_flag ( CMAKE_CXX_FLAGS "--coverage" )
endif()
############################################################################################################################
############################################################################################################################
##
## Profiling with gprof
##
############################################################################################################################
if ( WALBERLA_BUILD_WITH_GPROF )
if ( WALBERLA_CXX_COMPILER_IS_INTEL )
add_flag ( CMAKE_CXX_FLAGS "-pg" )
add_flag ( CMAKE_EXE_LINKER_FLAGS "-pg" )
elseif ( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag ( CMAKE_CXX_FLAGS "-pg" )
endif()
endif()
############################################################################################################################
############################################################################################################################
##
## Likwid Marker API
......@@ -1202,7 +716,7 @@ endif()
############################################################################################################################
if ( WALBERLA_BUILD_WITH_LIKWID_MARKERS )
if ( WALBERLA_BUILD_WITH_LIKWID_MARKERS AND NOT LIKWID_FOUND )
find_library( LIKWID_LIB likwid HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib )
find_path( LIKWID_INCLUDE_DIR likwid.h HINTS $ENV{LIKWID_INCDIR} $ENV{LIKWID_ROOT}/include )
......@@ -1237,37 +751,42 @@ endif ( )
############################################################################################################################
##
## Some more compiler flags that need to happen after any try_compile (e.g. inside FindMPI)
## Some more compiler flags that need to happen after any try_compile (e.g. inside FindMPI) (not sure if still true)
##
############################################################################################################################
# Treat warnings as errors
if ( WARNING_ERROR )
if( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_INTEL OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag ( CMAKE_CXX_FLAGS "-pedantic-errors -Werror" )
elseif( WALBERLA_CXX_COMPILER_IS_MSVC )
add_flag ( CMAKE_CXX_FLAGS "/WX" )
elseif ( WALBERLA_CXX_COMPILER_IS_CRAY )
add_flag ( CMAKE_CXX_FLAGS "-h error_on_warning" )
endif()
set (CMAKE_COMPILE_WARNING_AS_ERROR ON)
endif ( )
############################################################################################################################
##
## Sanitizer
## Half precision
##
############################################################################################################################
if ( WALBERLA_SANITIZE_ADDRESS )
if ( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag( CMAKE_CXX_FLAGS "-fsanitize=address")
endif()
endif()
if ( WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT )
### Compiler requirements:
### Within this project, there are several checks to ensure that the template parameter 'ValueType'
### is a floating point number. The check is_floating_point<ValueType> is done primarily in our MPI implementation.
### The IEE 754 floating type format _Float16, evaluates to true only if your compiler supports the
### open C++23 standard P1467R9 (Extended floating-point types and standard names).
### Compare:
### https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1467r9.html
###
### Right now (18.12.2023) this is the case only for gcc13.
### For more information see:
### https://gcc.gnu.org/projects/cxx-status.html#:~:text=Extended%20floating%2Dpoint%20types%20and%20standard%20names
### https://clang.llvm.org/cxx_status.html#:~:text=Extended%20floating%2Dpoint%20types%20and%20standard%20names
if ( WALBERLA_SANITIZE_UNDEFINED )
if ( WALBERLA_CXX_COMPILER_IS_GNU OR WALBERLA_CXX_COMPILER_IS_CLANG )
add_flag( CMAKE_CXX_FLAGS "-fsanitize=undefined")
endif()
endif()
try_compile( WALBERLA_SUPPORT_HALF_PRECISION "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestFloat16.cpp"
CXX_STANDARD 23 OUTPUT_VARIABLE TRY_COMPILE_OUTPUT )
## message( STATUS ${TRY_COMPILE_OUTPUT} )
if ( NOT WALBERLA_SUPPORT_HALF_PRECISION )
message( FATAL_ERROR "Compiler: ${CMAKE_CXX_COMPILER} Version: ${CMAKE_CXX_COMPILER_VERSION} does not support half precision" )
endif ()
endif () # Check if WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT is set
############################################################################################################################
# Documentation Generation
......@@ -1302,33 +821,6 @@ endif()
############################################################################################################################
#
# Fix compiler bugs
#
############################################################################################################################
# The NEC SX has a few issues in its standard library headers
if( WALBERLA_CXX_COMPILER_IS_NEC )
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/math.h "#include_next <math.h>\n#undef fpclassify\n#undef signbit\n#undef isfinite\n#undef isinf\n#undef isnan\n#undef isnormal\n#undef isgreater\n#undef isgreaterequal\n#undef isless\n#undef islessequal\n#undef islessgreater\n#undef isunordered\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/types.h\" \n#undef uint_t\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/acl.h\" \n#undef uint_t\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/if_ehcpl.h\"\n#undef uint_t\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/ptms.h\" \n#undef uint_t\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/stream.h\" \n#undef uint_t\n")
file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/strsubr.h\" \n#undef uint_t\n")
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/math.h ${walberla_BINARY_DIR}/src/math.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h ${walberla_BINARY_DIR}/src/sys/types.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h ${walberla_BINARY_DIR}/src/sys/acl.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h ${walberla_BINARY_DIR}/src/sys/if_ehcpl.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h ${walberla_BINARY_DIR}/src/sys/ptms.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h ${walberla_BINARY_DIR}/src/sys/stream.h COPYONLY )
configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h ${walberla_BINARY_DIR}/src/sys/strsubr.h COPYONLY )
endif()
############################################################################################################################
#
# Subdirectories
......@@ -1372,4 +864,4 @@ waLBerla_export()
############################################################################################################################
waLBerla_link_files_to_builddir( .clang-tidy )
add_subdirectory( utilities )
add_subdirectory( utilities )
\ No newline at end of file
{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 23,
"patch": 0
},
"configurePresets": [
{
"name": "clang-tidy",
"generator": "Unix Makefiles",
"binaryDir": "${sourceDir}/build/clang-tidy",
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": true,
"WALBERLA_BUFFER_DEBUG": true,
"WALBERLA_BUILD_TESTS": true,
"WALBERLA_BUILD_BENCHMARKS": true,
"WALBERLA_BUILD_TUTORIALS": true,
"WALBERLA_BUILD_TOOLS": true,
"WALBERLA_BUILD_WITH_MPI": true,
"WALBERLA_BUILD_WITH_OPENMP": true,
"CMAKE_BUILD_TYPE": "Debug",
"WALBERLA_BUILD_WITH_METIS": true,
"WALBERLA_BUILD_WITH_PARMETIS": true,
"WALBERLA_BUILD_WITH_OPENMESH": true,
"WALBERLA_DOUBLE_ACCURACY": true,
"WALBERLA_LOGLEVEL": "DETAIL"
}
}
]
}
\ No newline at end of file
......@@ -165,9 +165,9 @@ template< typename LatticeModel_T, typename Filter_T >
void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vector< std::pair< const Block *, uint_t > > & minTargetLevels,
std::vector< const Block * > &, const BlockForest & )
{
for( auto it = minTargetLevels.begin(); it != minTargetLevels.end(); ++it )
for(auto & minTargetLevel : minTargetLevels)
{
const Block * const block = it->first;
const Block * const block = minTargetLevel.first;
const uint_t currentLevelOfBlock = block->getLevel();
......@@ -175,7 +175,7 @@ void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vect
if( uField == nullptr )
{
it->second = uint_t(0);
minTargetLevel.second = uint_t(0);
continue;
}
......@@ -253,12 +253,12 @@ void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vect
if( refine && currentLevelOfBlock < maxLevel_ )
{
WALBERLA_ASSERT( !coarsen );
it->second = currentLevelOfBlock + uint_t(1);
minTargetLevel.second = currentLevelOfBlock + uint_t(1);
}
if( coarsen && currentLevelOfBlock > uint_t(0) )
{
WALBERLA_ASSERT( !refine );
it->second = currentLevelOfBlock - uint_t(1);
minTargetLevel.second = currentLevelOfBlock - uint_t(1);
}
}
}
......@@ -500,7 +500,7 @@ static shared_ptr< StructuredBlockForest > createBlockStructure( const AABB & do
MPIManager::instance()->useWorldComm();
sforest.addRefinementSelectionFunction( std::bind( refinementSelection, std::placeholders::_1, numberOfLevels, refinementBox ) );
sforest.addRefinementSelectionFunction( [numberOfLevels, refinementBox](auto && PH1) { refinementSelection(std::forward<decltype(PH1)>(PH1), numberOfLevels, refinementBox); } );
sforest.addWorkloadMemorySUIDAssignmentFunction( workloadAndMemoryAssignment );
Vector3<bool> periodicity( true, true, false);
......@@ -1375,7 +1375,7 @@ int main( int argc, char **argv )
cr.setRelaxationModel( pe::cr::HardContactSemiImplicitTimesteppingSolvers::ApproximateInelasticCoulombContactByDecoupling );
// set up synchronization procedure
std::function<void(void)> syncCall = std::bind( pe::syncNextNeighbors<BodyTypeTuple>, std::ref(blocks->getBlockForest()), bodyStorageID, &(*timingTreePE), overlap, false );
std::function<void(void)> syncCall = [&capture0 = blocks->getBlockForest(), bodyStorageID, capture1 = &(*timingTreePE), overlap] { pe::syncNextNeighbors<BodyTypeTuple>(capture0, bodyStorageID, capture1, overlap, false); };
// create pe bodies
......@@ -1525,14 +1525,14 @@ int main( int argc, char **argv )
// force averaging functionality
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer1 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> storeForceTorqueInCont1 = std::bind(&pe_coupling::BodiesForceTorqueContainer::store, bodiesFTContainer1);
std::function<void(void)> storeForceTorqueInCont1 = [bodiesFTContainer1] { bodiesFTContainer1->store(); };
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer2 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = std::bind(&pe_coupling::BodiesForceTorqueContainer::setOnBodies, bodiesFTContainer2);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = [bodiesFTContainer2] { bodiesFTContainer2->setOnBodies(); };
shared_ptr<pe_coupling::ForceTorqueOnBodiesScaler> forceScaler = make_shared<pe_coupling::ForceTorqueOnBodiesScaler>(blocks, bodyStorageID, real_t(0.5));
std::function<void(void)> setForceScalingFactorToOne = std::bind(&pe_coupling::ForceTorqueOnBodiesScaler::resetScalingFactor,forceScaler,real_t(1));
std::function<void(void)> setForceScalingFactorToHalf = std::bind(&pe_coupling::ForceTorqueOnBodiesScaler::resetScalingFactor,forceScaler,real_t(0.5));
std::function<void(void)> setForceScalingFactorToOne = [forceScaler] { forceScaler->resetScalingFactor(real_t(1)); };
std::function<void(void)> setForceScalingFactorToHalf = [forceScaler] { forceScaler->resetScalingFactor(real_t(0.5)); };
if( averageForceTorqueOverTwoTimSteps ) {
bodiesFTContainer2->store();
......@@ -2244,4 +2244,4 @@ int main( int argc, char **argv )
int main( int argc, char **argv ){
amr_sediment_settling::main(argc, argv);
}
}
\ No newline at end of file
......@@ -158,9 +158,9 @@ template< typename LatticeModel_T, typename Filter_T >
void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vector< std::pair< const Block *, uint_t > > & minTargetLevels,
std::vector< const Block * > &, const BlockForest & )
{
for( auto it = minTargetLevels.begin(); it != minTargetLevels.end(); ++it )
for(auto & minTargetLevel : minTargetLevels)
{
const Block * const block = it->first;
const Block * const block = minTargetLevel.first;
const uint_t currentLevelOfBlock = block->getLevel();
......@@ -168,7 +168,7 @@ void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vect
if( uField == nullptr )
{
it->second = uint_t(0);
minTargetLevel.second = uint_t(0);
continue;
}
......@@ -246,12 +246,12 @@ void VectorGradientRefinement< LatticeModel_T, Filter_T >::operator()( std::vect
if( refine && currentLevelOfBlock < maxLevel_ )
{
WALBERLA_ASSERT( !coarsen );
it->second = currentLevelOfBlock + uint_t(1);
minTargetLevel.second = currentLevelOfBlock + uint_t(1);
}
if( coarsen && currentLevelOfBlock > uint_t(0) )
{
WALBERLA_ASSERT( !refine );
it->second = currentLevelOfBlock - uint_t(1);
minTargetLevel.second = currentLevelOfBlock - uint_t(1);
}
}
}
......@@ -307,28 +307,28 @@ private:
static void refinementSelection( SetupBlockForest& forest, uint_t levels, const AABB & refinementBox )
{
real_t dx = real_t(1); // dx on finest level
for( auto block = forest.begin(); block != forest.end(); ++block )
for(auto & block : forest)
{
uint_t blockLevel = block->getLevel();
uint_t blockLevel = block.getLevel();
uint_t levelScalingFactor = ( uint_t(1) << (levels - uint_t(1) - blockLevel) );
real_t dxOnLevel = dx * real_c(levelScalingFactor);
AABB blockAABB = block->getAABB();
AABB blockAABB = block.getAABB();
// extend block AABB by ghostlayers
AABB extendedBlockAABB = blockAABB.getExtended( dxOnLevel * real_c(FieldGhostLayers) );
if( extendedBlockAABB.intersects( refinementBox ) )
if( blockLevel < ( levels - uint_t(1) ) )
block->setMarker( true );
block.setMarker( true );
}
}
static void workloadAndMemoryAssignment( SetupBlockForest& forest )
{
for( auto block = forest.begin(); block != forest.end(); ++block )
for(auto & block : forest)
{
block->setWorkload( numeric_cast< workload_t >( uint_t(1) << block->getLevel() ) );
block->setMemory( numeric_cast< memory_t >(1) );
block.setWorkload( numeric_cast< workload_t >( uint_t(1) << block.getLevel() ) );
block.setMemory( numeric_cast< memory_t >(1) );
}
}
......@@ -378,7 +378,7 @@ static shared_ptr< StructuredBlockForest > createBlockStructure( const AABB & do
WALBERLA_LOG_INFO_ON_ROOT(" - refinement box: " << refinementBox);
sforest.addRefinementSelectionFunction( std::bind( refinementSelection, std::placeholders::_1, numberOfLevels, refinementBox ) );
sforest.addRefinementSelectionFunction( [numberOfLevels, refinementBox](auto && PH1) { refinementSelection(std::forward<decltype(PH1)>(PH1), numberOfLevels, refinementBox); } );
sforest.addWorkloadMemorySUIDAssignmentFunction( workloadAndMemoryAssignment );
sforest.init( domainAABB, numberOfCoarseBlocksPerDirection[0], numberOfCoarseBlocksPerDirection[1], numberOfCoarseBlocksPerDirection[2], true, true, true );
......@@ -620,9 +620,9 @@ public:
for( uint_t level = 0; level < numberOfLevels_; ++level)
{
real_t timeOnLevelProcessLocal = real_t(0);
for( auto timerIt = timerOnEachLevel_.begin(); timerIt != timerOnEachLevel_.end(); ++timerIt )
for(auto const & timerIt : timerOnEachLevel_)
{
std::string timerName = *timerIt + " (" + std::to_string(level) + ")";
std::string timerName = timerIt + " (" + std::to_string(level) + ")";
timeOnLevelProcessLocal += real_c((*levelwiseTimingPool_)[timerName].total());
}
......@@ -630,15 +630,14 @@ public:
{
// evaluate more timers on finest level
for( auto timerIt = timerOnFinestLevel_.begin(); timerIt != timerOnFinestLevel_.end(); ++timerIt )
for(auto const & timerIt : timerOnFinestLevel_)
{
std::string timerName = *timerIt + " (" + std::to_string(level) + ")";
std::string timerName = timerIt + " (" + std::to_string(level) + ")";
timeOnLevelProcessLocal += real_c((*levelwiseTimingPool_)[timerName].total());
}
for( auto timerIt = timerInPE_.begin(); timerIt != timerInPE_.end(); ++timerIt )
for(auto const & timerName : timerInPE_)
{
std::string timerName = *timerIt;
timeOnLevelProcessLocal += real_c((*peTimingTree_)[timerName].total());
timeOnLevelProcessLocal += real_c((*peTimingTree_)[timerName].total());
}
}
......@@ -950,7 +949,7 @@ int main( int argc, char **argv )
pe::cr::DEM cr(globalBodyStorage, blocks->getBlockStoragePointer(), bodyStorageID, ccdID, fcdID, &(*timingTreePE));
// set up synchronization procedure
std::function<void(void)> syncCall = std::bind( pe::syncShadowOwners<BodyTypeTuple>, std::ref(blocks->getBlockForest()), bodyStorageID, &(*timingTreePE), overlap, false );
std::function<void(void)> syncCall = [&capture0 = blocks->getBlockForest(), bodyStorageID, capture1 = &(*timingTreePE), overlap] { pe::syncShadowOwners<BodyTypeTuple>(capture0, bodyStorageID, capture1, overlap, false); };
// create pe bodies
......@@ -1009,12 +1008,12 @@ int main( int argc, char **argv )
// force averaging functionality
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer1 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> storeForceTorqueInCont1 = std::bind(&pe_coupling::BodiesForceTorqueContainer::store, bodiesFTContainer1);
std::function<void(void)> storeForceTorqueInCont1 = [bodiesFTContainer1] { bodiesFTContainer1->store(); };
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer2 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = std::bind(&pe_coupling::BodiesForceTorqueContainer::setOnBodies, bodiesFTContainer2);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = [bodiesFTContainer2] { bodiesFTContainer2->setOnBodies(); };
shared_ptr<pe_coupling::ForceTorqueOnBodiesScaler> forceScaler = make_shared<pe_coupling::ForceTorqueOnBodiesScaler>(blocks, bodyStorageID, real_t(0.5));
std::function<void(void)> setForceScalingFactorToOne = std::bind(&pe_coupling::ForceTorqueOnBodiesScaler::resetScalingFactor,forceScaler,real_t(1));
std::function<void(void)> setForceScalingFactorToHalf = std::bind(&pe_coupling::ForceTorqueOnBodiesScaler::resetScalingFactor,forceScaler,real_t(0.5));
std::function<void(void)> setForceScalingFactorToOne = [forceScaler] { forceScaler->resetScalingFactor(real_t(1)); };
std::function<void(void)> setForceScalingFactorToHalf = [forceScaler] { forceScaler->resetScalingFactor(real_t(0.5)); };
if( averageForceTorqueOverTwoTimSteps ) {
bodiesFTContainer2->store();
......@@ -1331,4 +1330,4 @@ int main( int argc, char **argv )
int main( int argc, char **argv ){
amr_settling_sphere::main(argc, argv);
}
}
\ No newline at end of file
waLBerla_add_executable( NAME WorkloadEvaluation FILES WorkloadEvaluation.cpp DEPENDS blockforest boundary core field lbm pe pe_coupling postprocessing stencil timeloop vtk )
waLBerla_add_executable( NAME WorkloadEvaluation FILES WorkloadEvaluation.cpp DEPENDS walberla::blockforest walberla::boundary walberla::core walberla::field walberla::lbm walberla::pe walberla::pe_coupling walberla::postprocessing walberla::stencil walberla::timeloop walberla::vtk )
waLBerla_add_executable( NAME AMRSedimentSettling FILES AMRSedimentSettling.cpp DEPENDS blockforest boundary core field lbm pe pe_coupling postprocessing stencil timeloop vtk )
waLBerla_add_executable( NAME AMRSedimentSettling FILES AMRSedimentSettling.cpp DEPENDS walberla::blockforest walberla::boundary walberla::core walberla::field walberla::lbm walberla::pe walberla::pe_coupling walberla::postprocessing walberla::stencil walberla::timeloop walberla::vtk )
waLBerla_add_executable( NAME AMRSettlingSphere FILES AMRSettlingSphere.cpp DEPENDS blockforest boundary core field lbm pe pe_coupling postprocessing stencil timeloop vtk )
waLBerla_add_executable( NAME AMRSettlingSphere FILES AMRSettlingSphere.cpp DEPENDS walberla::blockforest walberla::boundary walberla::core walberla::field walberla::lbm walberla::pe walberla::pe_coupling walberla::postprocessing walberla::stencil walberla::timeloop walberla::vtk )
......@@ -540,7 +540,7 @@ int main( int argc, char **argv )
// connect to pe
const real_t overlap = real_c( 1.5 ) * dx;
std::function<void(void)> syncCall = std::bind( pe::syncNextNeighbors<BodyTypeTuple>, std::ref(blocks->getBlockForest()), bodyStorageID, &timingTreePE, overlap, false );
std::function<void(void)> syncCall = [&capture0 = blocks->getBlockForest(), bodyStorageID, capture1 = &timingTreePE, overlap] { pe::syncNextNeighbors<BodyTypeTuple>(capture0, bodyStorageID, capture1, overlap, false); };
auto generationDomain = AABB( real_t(0), real_t(0), real_t(0), real_c(XCells), real_c(YCells), real_c(ZCells) - topWallOffset);
auto peMaterial = pe::createMaterial( "mat", densityRatio, real_t(1), real_t(0.25), real_t(0.25), real_t(0), real_t(200), real_t(100), real_t(100), real_t(100) );
......@@ -761,11 +761,11 @@ int main( int argc, char **argv )
( blocks, pdfFieldID, boundaryHandlingID, bodyStorageID, globalBodyStorage, bodyFieldID, reconstructor, FormerMO_Flag, Fluid_Flag, pe_coupling::selectRegularBodies, optimizeForSmallObstacleFraction ), "PDF Restore" );
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer1 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> storeForceTorqueInCont1 = std::bind(&pe_coupling::BodiesForceTorqueContainer::store, bodiesFTContainer1);
std::function<void(void)> storeForceTorqueInCont1 = [bodiesFTContainer1] { bodiesFTContainer1->store(); };
shared_ptr<pe_coupling::BodiesForceTorqueContainer> bodiesFTContainer2 = make_shared<pe_coupling::BodiesForceTorqueContainer>(blocks, bodyStorageID);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = std::bind(&pe_coupling::BodiesForceTorqueContainer::setOnBodies, bodiesFTContainer2);
std::function<void(void)> setForceTorqueOnBodiesFromCont2 = [bodiesFTContainer2] { bodiesFTContainer2->setOnBodies(); };
shared_ptr<pe_coupling::ForceTorqueOnBodiesScaler> forceScaler = make_shared<pe_coupling::ForceTorqueOnBodiesScaler>(blocks, bodyStorageID, real_t(1));
std::function<void(void)> setForceScalingFactorToHalf = std::bind(&pe_coupling::ForceTorqueOnBodiesScaler::resetScalingFactor,forceScaler,real_t(0.5));
std::function<void(void)> setForceScalingFactorToHalf = [forceScaler] { forceScaler->resetScalingFactor(real_t(0.5)); };
if( averageForceTorqueOverTwoTimSteps ) {
bodiesFTContainer2->store();
......@@ -981,4 +981,4 @@ int main( int argc, char **argv )
int main( int argc, char **argv ){
workload_evaluation::main(argc, argv);
}
}
\ No newline at end of file
......@@ -5,9 +5,11 @@ add_subdirectory( DEM )
add_subdirectory( MeshDistance )
add_subdirectory( CouetteFlow )
add_subdirectory( FreeSurfaceAdvection )
add_subdirectory( FluidizedBed )
add_subdirectory( FluidParticleCoupling )
add_subdirectory( FluidParticleCouplingWithLoadBalancing )
add_subdirectory( ForcesOnSphereNearPlaneInShearFlow )
add_subdirectory(Percolation)
add_subdirectory( GranularGas )
add_subdirectory( IntegratorAccuracy )
add_subdirectory( LennardJones )
......@@ -22,10 +24,10 @@ if ( WALBERLA_BUILD_WITH_PYTHON )
add_subdirectory( FieldCommunication )
if ( WALBERLA_BUILD_WITH_CODEGEN )
add_subdirectory( FlowAroundSphereCodeGen )
add_subdirectory( UniformGridCPU )
add_subdirectory( PhaseFieldAllenCahn )
add_subdirectory( NonUniformGridCPU )
add_subdirectory( TurbulentChannel )
endif()
if ( WALBERLA_BUILD_WITH_CODEGEN AND WALBERLA_BUILD_WITH_GPU_SUPPORT )
......
......@@ -7,4 +7,4 @@ waLBerla_add_executable( NAME 01_cnt_film
InitializeCNTs.cpp
SQLProperties.cpp
Statistics.cpp
DEPENDS blockforest core mesa_pd sqlite vtk )
DEPENDS walberla::blockforest walberla::core walberla::mesa_pd walberla::sqlite walberla::vtk )
if ( WALBERLA_BUILD_WITH_OPENMESH )
waLBerla_link_geometry_to_builddir( "*.obj" )
waLBerla_link_files_to_builddir( "*.conf" )
waLBerla_link_files_to_builddir( "*.obj" )
waLBerla_link_files_to_builddir( "*.conf" )
waLBerla_add_executable( NAME ComplexGeometry FILES ComplexGeometry.cpp DEPENDS boundary core lbm mesh vtk )
waLBerla_add_executable( NAME ComplexGeometry FILES ComplexGeometry.cpp DEPENDS walberla::boundary walberla::core walberla::lbm walberla::mesh walberla::vtk )
##############
# Some tests #
......
waLBerla_link_files_to_builddir( "*.dat" )
waLBerla_add_executable( NAME CouetteFlow DEPENDS blockforest boundary core field lbm postprocessing stencil timeloop vtk sqlite )
waLBerla_add_executable( NAME CouetteFlow DEPENDS walberla::blockforest walberla::boundary walberla::core walberla::field walberla::lbm walberla::postprocessing walberla::stencil walberla::timeloop walberla::vtk walberla::sqlite )
##############
# Some tests #
......
......@@ -162,19 +162,19 @@ template< typename LatticeModel_T, class Enable = void >
struct StencilString;
template< typename LatticeModel_T >
struct StencilString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q15 >::value >::type >
struct StencilString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q15 > > >
{
static const char * str() { return "D3Q15"; }
};
template< typename LatticeModel_T >
struct StencilString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
struct StencilString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > > >
{
static const char * str() { return "D3Q19"; }
};
template< typename LatticeModel_T >
struct StencilString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value >::type >
struct StencilString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q27 > > >
{
static const char * str() { return "D3Q27"; }
};
......@@ -184,22 +184,22 @@ template< typename LatticeModel_T, class Enable = void >
struct CollisionModelString;
template< typename LatticeModel_T >
struct CollisionModelString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::SRT_tag >::value >::type >
struct CollisionModelString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::SRT_tag > > >
{
static const char * str() { return "SRT"; }
};
template< typename LatticeModel_T >
struct CollisionModelString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::TRT_tag >::value >::type >
struct CollisionModelString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::TRT_tag > > >
{
static const char * str() { return "TRT"; }
};
template< typename LatticeModel_T >
struct CollisionModelString< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::MRT_tag >::value >::type >
struct CollisionModelString< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag,
lbm::collision_model::MRT_tag > > >
{
static const char * str() { return "MRT"; }
};
......@@ -271,10 +271,10 @@ private:
static void workloadAndMemoryAssignment( SetupBlockForest& forest, const memory_t memoryPerBlock )
{
for( auto block = forest.begin(); block != forest.end(); ++block )
for(auto & block : forest)
{
block->setWorkload( numeric_cast< workload_t >( uint_t(1) << block->getLevel() ) );
block->setMemory( memoryPerBlock );
block.setWorkload( numeric_cast< workload_t >( uint_t(1) << block.getLevel() ) );
block.setMemory( memoryPerBlock );
}
}
......@@ -293,7 +293,7 @@ static shared_ptr< SetupBlockForest > createSetupBlockForest( const blockforest:
( setup.zCells + uint_t(2) * FieldGhostLayers ) ) * memoryPerCell;
forest->addRefinementSelectionFunction( refinementSelectionFunctions );
forest->addWorkloadMemorySUIDAssignmentFunction( std::bind( workloadAndMemoryAssignment, std::placeholders::_1, memoryPerBlock ) );
forest->addWorkloadMemorySUIDAssignmentFunction([memoryPerBlock](auto & sbf) { workloadAndMemoryAssignment(sbf, memoryPerBlock); });
forest->init( AABB( real_c(0), real_c(0), real_c(0), real_c( setup.xBlocks * setup.xCells ),
real_c( setup.yBlocks * setup.yCells ),
......@@ -634,10 +634,10 @@ struct AddRefinementTimeStep
};
template< typename LatticeModel_T >
struct AddRefinementTimeStep< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, lbm::collision_model::MRT_tag >::value ||
std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q15 >::value ||
std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value
>::type >
struct AddRefinementTimeStep< LatticeModel_T, std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, lbm::collision_model::MRT_tag > ||
std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q15 > ||
std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q27 >
> >
{
static void add( SweepTimeloop & timeloop, shared_ptr< blockforest::StructuredBlockForest > & blocks,
const BlockDataID & pdfFieldId, const BlockDataID & flagFieldId, const BlockDataID & boundaryHandlingId,
......@@ -718,9 +718,9 @@ void run( const shared_ptr< Config > & config, const LatticeModel_T & latticeMod
if( vtkBeforeTimeStep )
{
for( auto output = vtkOutputFunctions.begin(); output != vtkOutputFunctions.end(); ++output )
timeloop.addFuncBeforeTimeStep( output->second.outputFunction, std::string("VTK: ") + output->first,
output->second.requiredGlobalStates, output->second.incompatibleGlobalStates );
for(auto & output : vtkOutputFunctions)
timeloop.addFuncBeforeTimeStep( output.second.outputFunction, std::string("VTK: ") + output.first,
output.second.requiredGlobalStates, output.second.incompatibleGlobalStates );
}
// add 'refinement' LB time step to time loop
......@@ -733,11 +733,11 @@ void run( const shared_ptr< Config > & config, const LatticeModel_T & latticeMod
// evaluation
const auto exactSolutionFunction = std::bind( exactVelocity, std::placeholders::_1, blocks->getDomain(), setup.maxVelocity_L );
const auto exactSolutionFunction = [domain = blocks->getDomain(), maxVel = setup.maxVelocity_L](auto & p) { return exactVelocity(p, domain, maxVel); };
auto volumetricFlowRate = field::makeVolumetricFlowRateEvaluation< VelocityAdaptor_T, FlagField_T >( configBlock, blocks, velocityAdaptorId,
flagFieldId, Fluid_Flag,
std::bind( exactFlowRate, setup.flowRate_L ),
[flowRate = setup.flowRate_L] { return exactFlowRate(flowRate); },
exactSolutionFunction );
volumetricFlowRate->setNormalizationFactor( real_t(1) / setup.maxVelocity_L );
volumetricFlowRate->setDomainNormalization( Vector3<real_t>( real_t(1) ) );
......@@ -766,9 +766,9 @@ void run( const shared_ptr< Config > & config, const LatticeModel_T & latticeMod
if( !vtkBeforeTimeStep )
{
for( auto output = vtkOutputFunctions.begin(); output != vtkOutputFunctions.end(); ++output )
timeloop.addFuncAfterTimeStep( output->second.outputFunction, std::string("VTK: ") + output->first,
output->second.requiredGlobalStates, output->second.incompatibleGlobalStates );
for(auto & output : vtkOutputFunctions)
timeloop.addFuncAfterTimeStep( output.second.outputFunction, std::string("VTK: ") + output.first,
output.second.requiredGlobalStates, output.second.incompatibleGlobalStates );
}
// remaining time logger
......
waLBerla_add_executable( NAME DEM FILES DEM.cpp DEPENDS blockforest core pe )
waLBerla_add_executable( NAME DEM FILES DEM.cpp DEPENDS walberla::blockforest walberla::core walberla::pe )
......@@ -4,4 +4,4 @@ waLBerla_link_files_to_builddir( "*.py" )
waLBerla_add_executable ( NAME FieldCommunication
DEPENDS blockforest core domain_decomposition field postprocessing sqlite python_coupling )
DEPENDS walberla::blockforest walberla::core walberla::domain_decomposition walberla::field walberla::postprocessing walberla::sqlite walberla::python_coupling )