Skip to content
Snippets Groups Projects
  1. Apr 10, 2017
  2. Apr 07, 2017
  3. Mar 31, 2017
  4. Mar 27, 2017
  5. Jan 19, 2017
  6. Jan 18, 2017
  7. Jan 11, 2017
  8. Dec 23, 2016
  9. Dec 15, 2016
    • Ansgar Burchardt's avatar
      232a414d
    • Christian Engwer's avatar
      Merge branch 'feature/simd-for-multi-rhs' into 'master' · 7843720d
      Christian Engwer authored
      Feature/simd for multi rhs
      
      Update the solvers to solve for multiple rhs vectors simultaniously. This makes use of SIMD abstractions in dune-common (see dune-common!16) to use vectors of SIMD vectors as `FieldType` of the right-hand-side. By this we can make immediate use of SIMD units in modern processors. Using SSE for example we get a speedup of 2 basically for free. This extension is useful whenever the same operator has to be solved for many rhs vectors, e.g. in the case of MS-FEM.
      
      AMG Ist working as long as the coarse grid solver is an iterative solver. I therefore added an additional preprocessor macro to disable the direct coarse solver explicitly.
      
      What is missing currently is multi-rhs support for the direct solvers. I'm preparing a separate merge request for this feature, which will add multi-rhs direct-coarse-grid support for the AMG.
      
      See also: dune-common!81, dune-geometry!13.
      
      
      See merge request !17
      7843720d
  10. Dec 13, 2016
  11. Dec 09, 2016
  12. Dec 06, 2016
  13. Dec 05, 2016
    • Christoph Grüninger's avatar
      Merge branch 'feature/support-various-types-in-superlu' into 'master' · cbdf3270
      Christoph Grüninger authored
      Support various numeric types for SuperLU at once.
      
      Previously, we only supported one numeric type (float, double, complex<float>,
      or complex<double>) that the user could select via a cryptic preprocessor
      define. This was done this way because when including SuperLU headers we
      would otherwise have multiply defined structs in SuperLU. At least in 4.3
      GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and
      slu_zdefs.h
      
      With this commit we do not include the problematic SuperLU headers anymore.
      Instead why define the functions called by us with extern C within DUNE.
      In addition we now provide all the numeric types for which SuperLU drivers are
      found at the same time.
      
      Hopefully this will also fix problems with multiply defined BLAS routines experienced
      with arpack and SuperLU.
      
      See merge request !77
      cbdf3270
    • Markus Blatt's avatar
      Support various numeric types for SuperLU at once. · d1dcb220
      Markus Blatt authored and Christoph Grüninger's avatar Christoph Grüninger committed
      Previously, we only supported one numeric type (float, double, complex<float>,
      or complex<double>) that the user could select via a cryptic preprocessor
      define. This was done this way because when including SuperLU headers we
      would otherwise have multiply defined structs in SuperLU. At least in 4.3
      GlobalLU_t is defined in slu_sdefs.h, slu_ddefs.h, slu_cdefs.h, and
      slu_zdefs.h
      
      With this commit we do not include the problematic SuperLU headers anymore.
      Instead why define the functions called by us with extern C within DUNE.
      In addition we now provide all the numeric types for which SuperLU drivers are
      found at the same time.
      
      Hopefully this will also fix problems with multiply defined BLAS routines experienced
      with arpack and SuperLU.
      d1dcb220
  14. Nov 25, 2016
  15. Nov 22, 2016
  16. Nov 17, 2016
    • Dominic Kempf's avatar
      Merge branch 'feature/fix-amg-umfpack-when-using-float' into 'master' · 1eafb167
      Dominic Kempf authored
      [bugfix] This fixes an issue when UMFPack is found and AMG with field type float is used.
      
      The selection of UMFPack as a direct solver does not only depend on UMFPack being found, but also whether the field type is double or complex<double>. Otherwise UMFPack cannot be used as a coarse solver in AMG. This PR fixes this issue.
      
      @markus.blatt: Please take a look at this. 
      @smuething: Please take a look at this. 
      
      See merge request !51
      1eafb167
    • Ansgar Burchardt's avatar
      Merge branch 'feature/move-implementation-to-imp' into 'master' · ec617e3b
      Ansgar Burchardt authored
      Move various implementation classes into the 'Imp' namespace
      
      There are various classes in dune-istl that are effectively implementation
      classes internal to dune-istl. A few of them are base_array_unmanaged,
      base_array_window, compressed_base_array_unmanaged,block_vector_unmanaged,
      BlockVectorWindow, compressed_block_vector_unmanaged, CompressedBlockVectorWindow
      
      See #22 for a brief
      discussion.
      
      This patch moves the classes into the namespace 'Imp'.  That way it is
      clear that they are internal.
      
      All code outside of dune-istl using those classes will break, but does
      such code really exist?
      
      See merge request !65
      ec617e3b
    • Oliver Sander's avatar
      Move various implementation classes into the 'Imp' namespace · 13ec7d1b
      Oliver Sander authored and Ansgar Burchardt's avatar Ansgar Burchardt committed
      There are various classes in dune-istl that are effectively implementation
      classes internal to dune-istl. A few of them are base_array_unmanaged,
      base_array_window, compressed_base_array_unmanaged,block_vector_unmanaged,
      BlockVectorWindow, compressed_block_vector_unmanaged, CompressedBlockVectorWindow
      
      See #22 for a brief
      discussion.
      
      This patch moves the classes into the namespace 'Imp'.  That way it is
      clear that they are internal.
      
      All code outside of dune-istl using those classes will break, but does
      such code really exist?
      13ec7d1b
Loading