- Nov 09, 2018
-
-
Stephan Hilb authored
-
- Nov 08, 2018
-
-
Christian Engwer authored
Merge branch 'bugfix/fix-vbvectortest' into 'master' ref:core/dune-istl Formerly, this would throw an exception if DUNE_ISTL_WITH_CHECKING is enabled since you must not call a create iterator on an initialized VariableBlockVector. That being said, maybe it's a good idea to enable these checks in the CI system. See merge request [core/dune-istl!214] [core/dune-istl!214]: gitlab.dune-project.org/core/dune-istl/merge_requests/214
-
- Nov 07, 2018
-
-
Christoph Grüninger authored
Merge branch 'feature/suitesparse-cholmod' into 'master' ref:core/dune-istl Take-over from patrick.jaap:feature/CHOLMOD See merge request [core/dune-istl!233] [core/dune-istl!233]: gitlab.dune-project.org/core/dune-istl/merge_requests/233
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
Christoph Grüninger authored
Otherwise it cannot be found
-
A simple implementation for the SuiteSparse CHOLMOD solver for real valued (double) linear systems. Ignore dof's are supported. The user has to take care of the correct size of vectors in the "apply" method.
-
Oliver Sander authored
Merge branch 'make-createiterator-an-output-iterator' into 'master' ref:core/dune-istl The class VariableBlockVector::CreateIterator behaves basically like an STL output iterator, but it didn't quite implement the required interface. This patch adds the missing methods and extends the unit test. The main benefit of this (besides interface beauty) is that you can now use std::fill etc. to set the block sizes of a VariableBlockVector. See merge request [core/dune-istl!229] [core/dune-istl!229]: gitlab.dune-project.org/core/dune-istl/merge_requests/229
-
- Oct 17, 2018
-
-
Markus Blatt authored
Merge branch 'feature/fix-quadratic-umfpacksetup' into 'master' ref:core/dune-istl Looking up if a column index is contained in submatrix could degenerate to accumulated O(n) complexity for each row in the old implementation. By setting up a look-up before, this can be improved to O(1). Fortunately such a vector is constructed anyway so we can simple use it after minor reordering of code. This should fix [#54]. See merge request [core/dune-istl!230] [#54]: gitlab.dune-project.org/NoneNone/issues/54 [core/dune-istl!230]: gitlab.dune-project.org/core/dune-istl/merge_requests/230 Closes #54
-
- Oct 05, 2018
-
-
Carsten Gräser authored
Looking up if a column index is contained in submatrix could degenerate to accumulated O(n) complexity for each row in the old implementation. By setting up a look-up vector before, this can be improved to O(1). Fortunately such a vector is constructed anyway so we can simple use it after minor reordering of code. Note that we keep the old O(n) implementation of addRowNnz() because this is still used by some overlapping Schwarz code that I do not intend to touch myself.
-
- Aug 17, 2018
-
-
Oliver Sander authored
-
- Aug 08, 2018
-
-
Oliver Sander authored
The class VariableBlockVector::CreateIterator behaves basically like an STL output iterator, but it didn't quite implement the required interface. This patch adds the missing methods and extends the unit test. The main benefit of this (besides interface beauty) is that you can now use std::fill etc. to set the block sizes of a VariableBlockVector.
-
- Aug 07, 2018
-
-
Oliver Sander authored
Merge branch 'fix-typos' into 'master' See merge request [core/dune-istl!228] [core/dune-istl!228]: Nonecore/dune-istl/merge_requests/228
-
Oliver Sander authored
-
- Jul 23, 2018
-
-
Dominic Kempf authored
Merge branch 'feature/disallow-multithreaded-suitesparse' into 'master' Suitesparse, as installed with Debian, is thread-parallel using OpenMP. OpenMP silently assumes, it can spawn as many threads as there are cores. In a worst case scenario, this leads to a number of threads quadratic in the core count, if you also do parallel test execution with the maximum number of cores. We solve the issue by disallowing OpenMP to allocate more than one thread. See merge request [core/dune-istl!227] [core/dune-istl!227]: gitlab.dune-project.org/core/dune-istl/merge_requests/227
-
- Jul 19, 2018
-
-
Dominic Kempf authored
Suitesparse, as installed with Debian, is thread-parallel using OpenMP. OpenMP silently assumes, it can spawn as many threads as there are cores. In a worst case scenario, this leads to a number of threads quadratic in the core count, if you also do parallel test execution with the maximum number of cores. We solve the issue by disallowing OpenMP to allocate more than one thread.
-
- Jul 11, 2018
-
-
Jö Fahlke authored
Merge branch 'bugfix/fcg-initial-direction' into 'master' This adds a missing reset of the vector for the initial direction in the first iteration of the apply method. In the current state the vector for the search direction contains the initial solution in the first iteration. Most of the standard preconditioners will add their result to the vector instead of replacing it. If the initial solution is not zero, this results in an incorrect first search direction. See merge request [core/dune-istl!226] [core/dune-istl!226]: gitlab.dune-project.org/core/dune-istl/merge_requests/226
-
- Jul 10, 2018
-
-
Mathis Springwald authored
-
- Jul 06, 2018
-
-
Jö Fahlke authored
Merge branch 'no-needless-simd' into 'master' This simplifies io. See merge request [core/dune-istl!224] [core/dune-istl!224]: gitlab.dune-project.org/core/dune-istl/merge_requests/224
-
Jö Fahlke authored
This simplifies io.
-
Jö Fahlke authored
Merge branch 'matrixtest-1x1-interface' into 'master' Found by clang 6 -Wunused-variable. No idea why the FieldMatrix is tested in ISTL, but whatever. See merge request [core/dune-istl!222] [core/dune-istl!222]: gitlab.dune-project.org/core/dune-istl/merge_requests/222
-
Jö Fahlke authored
Merge branch 'simd-io' into 'master' Depends: [core/dune-common!551] Addresses: [#50] See merge request [core/dune-istl!223] [core/dune-common!551]: gitlab.dune-project.org/core/dune-common/merge_requests/551 [#50]: gitlab.dune-project.org/core/dune-istl/issues/50 [core/dune-istl!223]: gitlab.dune-project.org/core/dune-istl/merge_requests/223
-
Jö Fahlke authored
Depends: core/dune-common!551 Addresses: #50
-
Jö Fahlke authored
Found by clang 6 -Wunused-variable. No idea why the FieldMatrix is tested in ISTL, but whatever.
-
- Jul 05, 2018
-
-
Jö Fahlke authored
Merge branch 'fix-tlime-residual-limit' into 'master' The previous convergence limit was originally determined experimentally as 1e-11. This worked for many blas implementations and architectures. However, when used with openblas on skylake, apparently the residual norm would not go below ~1e-10, so convergence was never achieved. In fact, even on non-skylake the residual norm would go above 1e-11 again after briefly dipping below, if iterating further. We believe that this is due to openblas selecting -- at runtime -- some skylake specific algorithm leading to a different ordering of operations, in turn leading to differences in numerical cancellation. We have however not verified this conclusively, nor have we identified precisely which blas algorithm is causing this. This patch raises the convergence limit to `sqrt(numeric_limits<field_type>::epsilon())`. This limit has no theoretical justification -- it was selected because it usually works as a convergence limit for other (completely unrelated) algorithms, and because it works for both Skylake and other architectures (AMD Epyc) in this particular case. Developed together with Sebastian Westerheide. Fixes: \#48. See merge request core/dune-istl!221
-
Jö Fahlke authored
The previous convergence limit was originally determined experimentally as 1e-11. This worked for many blas implementations and architectures. However, when used with openblas on skylake, apparently the residual norm would not go below ~1e-10, so convergence was never achieved. In fact, even on non-skylake the residual norm would go above 1e-11 again after briefly dipping below, if iterating further. We believe that this is due to openblas selecting -- at runtime -- some skylake specific algorithm leading to a different ordering of operations, in turn leading to differences in numerical cancellation. We have however not verified this conclusively, nor have we identified precisely which blas algorithm is causing this. This patch raises the convergence limit to `sqrt(numeric_limits<field_type>::epsilon())`. This limit has no theoretical justification -- it was selected because it usually works as a convergence limit for other (completely unrelated) algorithms, and because it works for both Skylake and other architectures (AMD Epyc) in this particular case. Developed together with Sebastian Westerheide. Fixes: #48.
-
- Jun 27, 2018
-
-
Jö Fahlke authored
[multirhstest] allow access to measured timestamps in multirhstest See merge request core/dune-istl!219
-
- Jun 26, 2018
-
-
Lukas Renelt authored
-
- Jun 21, 2018
-
-
Jö Fahlke authored
[Clang] Fix warning about an unchecked enumerator in switch(). See merge request core/dune-istl!218
-
Jö Fahlke authored
``` /home/joe/Projekte/dune-simd/dune-istl/dune/istl/matrixmarket.hh:706:18: warning: enumeration values 'general' and 'unknown_structure' not handled in switch [-Wswitch] switch(mmHeader.structure) ``` - Move the `switch(mmHeader.structure)` out of the loop over the entries and and check all structure types there. This will throw immediately for unknown structure types, rather then reading all entries and then throwing. - Write the `for()` loop in a less unusual format; i.e. don't try and save on local integer variables.
-
Jö Fahlke authored
-
- Jun 11, 2018
-
-
Jö Fahlke authored
Mark scope guard as DUNE_UNUSED See merge request core/dune-istl!217
-
Carsten Gräser authored
This helps to avoid a clang warning
-
- Jun 08, 2018
-
-
Jö Fahlke authored
Allow autoCopy() for blocks of VariableBlockVector Closes #49 See merge request core/dune-istl!215
-
Ansgar Burchardt authored
fix compile error and several warnings with gcc 8 See merge request core/dune-istl!216
-
Lasse Hinrichsen-Bischoff authored
-
Lasse Hinrichsen-Bischoff authored
-
Lasse Hinrichsen-Bischoff authored
-
Lasse Hinrichsen-Bischoff authored
-
Ansgar Burchardt authored
This addresses several compiler warnings from GCC 8 of the form dune/istl/repartition.hh:968:22: warning: unused variable ‘wgtflag’ [-Wunused-variable] and dune/istl/repartition.hh:976:13: warning: variable ‘options’ set but not used [-Wunused-but-set-variable]
-