Skip to content
Snippets Groups Projects
  1. Jan 18, 2024
  2. Jan 08, 2023
  3. Sep 30, 2022
  4. Feb 09, 2022
  5. Jan 15, 2021
  6. Aug 29, 2020
  7. Jun 03, 2020
  8. Apr 11, 2020
  9. Jul 05, 2018
    • Jö Fahlke's avatar
      [TLIME] Relax convergence criterion. · 0bb1e69d
      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.
      0bb1e69d
  10. May 16, 2018
    • Jö Fahlke's avatar
      [arpackpp] Don't specify no-copy on BlockVector::resize(). · 70103ad7
      Jö Fahlke authored
      The overload of `resize()` with explicit `copyOldValues` argument is easy to
      confuse with `std::vector`s `resize()` with default-value for newly created
      elements.  In any case, it does nothing here because the BlockVector is empty
      before the resize.
      70103ad7
  11. Nov 10, 2017
  12. Jun 27, 2017
  13. Jun 26, 2017
  14. Apr 10, 2017
  15. Dec 09, 2016
  16. Aug 05, 2016
  17. Mar 22, 2016
  18. Mar 21, 2016
  19. Jan 19, 2016
  20. Nov 02, 2015
    • Dominic Kempf's avatar
      Introduce dune_add_test in dune-istl · d87220ab
      Dominic Kempf authored
      There are some tests, which are hard to port in the paamg directory.
      They want to explicitly test _without_ direct solver. Previously,
      you simply did not add the flags for the direct solver packages.
      add_dune_test relies on all flags, so we need a way to disable components
      again. That will be implemented as part of dune_add_executable. For
      now, we build the targets ourselves and hand them to dune_add_test.
      d87220ab
  21. Oct 16, 2015
    • Dominic Kempf's avatar
      Introduce dune_add_test in dune-istl · eeca30a3
      Dominic Kempf authored
      There are some tests, which are hard to port in the paamg directory.
      They want to explicitly test _without_ direct solver. Previously,
      you simply did not add the flags for the direct solver packages.
      add_dune_test relies on all flags, so we need a way to disable components
      again. That will be implemented as part of dune_add_executable. For
      now, we build the targets ourselves and hand them to dune_add_test.
      eeca30a3
  22. Sep 01, 2015
  23. Aug 15, 2015
Loading