Skip to content
Snippets Groups Projects
  1. Jul 24, 2019
  2. Jul 22, 2019
  3. Jan 24, 2019
  4. Jan 23, 2019
  5. Dec 05, 2018
  6. Nov 28, 2018
  7. Nov 22, 2018
    • René Heß's avatar
      Restructure where permutation happens for sumfact vectorization · f1382d61
      René Heß authored
      Non-fastdg: Permutation of the input happens before the sum factorization
      kernel when we setup the input. This is done by a method of the corresponding
      interface class.
      
      Fastdg: In this case the input will always be ordered according to x,y,... This
      means the permutation needs to happen in the sumfact kernel. Since we want to
      vectorize sumfact kernels with different input permutation in an upper/lower
      way we need to do this permutation in the corresponding interface class. This
      is done in the realize_direct method and in the vectorized case the
      corresponding methods of the scalar sumfact kernels are called.
      f1382d61
  8. Oct 30, 2018
  9. Feb 27, 2018
  10. Jan 30, 2018
  11. Jan 03, 2018
  12. Nov 09, 2017
  13. Aug 25, 2017
    • Dominic Kempf's avatar
      fix rebasing for blockstructured branch · 1f995eb6
      Dominic Kempf authored
      1f995eb6
    • Dominic Kempf's avatar
      Rewrite accumulation term splitting to not use FunctionView · 0f957482
      Dominic Kempf authored
      The introduction of FunctionView turned out to be a major problem
      with more complicated forms. The original idea was to preserver the
      structure of the finite element in a way, that loops over components
      of a mixed element are realized by actual loops (treating them with
      free indices and such). However, this causes quite some nightmares and
      was never implemented as generically as needed (I even doubt that is
      possible).
      
      However, there is another option, which is to unroll any such loops
      on a symbolic level. While this may sound like a bad idea at first
      there is some really positive aspects about it:
      * ListTensor and ComponentTensor nodes collapse completely (and would
        otherwise have a big nightmare potential)
      * Symbolic zeroes do not generate code - important in hyperbolic problems
        where the system matrices are quite sparse or for axiparallel grids,
        where geometric quantities have many zeroes.
      * The compiler would unroll these small loops anyway.
      * TSFC (and I guess also FFC) do it the same way.
      
      Implementing this required me to redo the form splitting algorithm.
      I rethought it and integrated it into the main ufl->loopy visitor.
      0f957482
  14. Aug 24, 2017
  15. Aug 18, 2017
  16. Jul 25, 2017
  17. Jul 24, 2017
  18. Jul 10, 2017
  19. Jun 06, 2017
  20. Dec 09, 2016
  21. Nov 24, 2016
  22. Nov 03, 2016
  23. Oct 27, 2016
  24. Oct 26, 2016
  25. Oct 24, 2016
  26. Oct 21, 2016
  27. Oct 20, 2016
  28. Oct 18, 2016
  29. Oct 14, 2016
  30. Oct 06, 2016
  31. Oct 05, 2016
Loading