1. 11 May, 2018 1 commit
    • Martin Bauer's avatar
      Generalized vectorization · 57a3c27e
      Martin Bauer authored
      - vectorization for loops with ranges that are not a multiple of vector width
      - vectorization for variable sized loops if special transformation
        replace_inner_stride_with_one is run
      57a3c27e
  2. 27 Apr, 2018 1 commit
  3. 13 Apr, 2018 1 commit
  4. 10 Apr, 2018 4 commits
  5. 05 Mar, 2018 1 commit
    • Martin Bauer's avatar
      Boundary conditions · fd68e34d
      Martin Bauer authored
      - in-kernel Neumann boundaries
      - flag-interface for boundary handling makes one flag field multiple
        boundary handlings possible
      - generator: support for bitwise logical operators
      fd68e34d
  6. 08 Feb, 2018 1 commit
    • Martin Bauer's avatar
      lbmpy phasefield · 9cf1ac28
      Martin Bauer authored
      - step class for LB phasefield generic enough to work with 3-phase and
        N-phase models
      - cahn hilliard can either be solved by LBM or by finite differences
      - 3 phase model can be solved with rho phase or without
      9cf1ac28
  7. 03 Dec, 2017 1 commit
  8. 17 Oct, 2017 2 commits
  9. 10 Oct, 2017 3 commits
  10. 09 Oct, 2017 1 commit
    • Martin Bauer's avatar
      Vectorization & Type system overhaul · ea847bc5
      Martin Bauer authored
      - first vectorization tests are running
      - type system: use memoized getTypeOfExpression
      - casts are done using sp.Function('cast')
      - C backend adapted for vectorization support
      - AST nodes can required optional headers
      ea847bc5
  11. 20 Sep, 2017 1 commit
  12. 26 Jul, 2017 1 commit
  13. 21 Jul, 2017 1 commit
  14. 07 Jul, 2017 1 commit
  15. 24 Mar, 2017 1 commit
    • Martin Bauer's avatar
      Conditional AST Node & advanced CUDA indexing · ff641ec9
      Martin Bauer authored
      - abstraction layer for selecting CUDA block and grid sizes
        - line based (was implemented before)
        - block based (new, more flexible)
      -  new conditional (if/else) ast node, which is necessary for indexing schemes (guarding if)
      ff641ec9
  16. 16 Mar, 2017 1 commit
  17. 14 Mar, 2017 1 commit
    • Martin Bauer's avatar
      pystencils: fields can now contain structs · ec3faf51
      Martin Bauer authored
      - this extension is necessary for more generic boundary treatment
      - cells can now be structs, i.e. contain different data types
      - instead of having numeric index dimensions, one can use the index per cell to adress struct elements
      ec3faf51
  18. 13 Mar, 2017 1 commit
    • Martin Bauer's avatar
      pystencils: Cleaned up type system · c8b455fe
      Martin Bauer authored
      - use data type class consistently instead of strings (in TypedSymbol, Field and jit module)
      - new datatype class is based on numpy types with additional specifier information (const and restrict)
      - translation between data type class and other modules (numpy, ctypes)
      c8b455fe
  19. 01 Mar, 2017 1 commit
    • Martin Bauer's avatar
      pystencils: cpujit · dd17cd30
      Martin Bauer authored
      - windows support
      - automatic caching and creation of shared library with all generated kernels
      - restrict keyword and function prefixes are preprocessor macros now -> easier to generate one code for linux, cuda, windows
      dd17cd30
  20. 13 Feb, 2017 1 commit
    • Michael Kuron's avatar
      Python 2.7 compatibility · cb05590d
      Michael Kuron authored and Martin Bauer's avatar Martin Bauer committed
      This commit makes the Python code backwards compatible down to Python 2.7. Previously it would only run on Python 3.5 and up.
      
      Problems fixed included:
      - `time.perf_counter()` doesn't exist
      - all classes need to be new-style
      - `functools.lru_cache` doesn't exist
      - only the last argument to a function call can be `*`-expanded
      - the `nonlocal` keyword doesn't exist
      - metaclasses are used with a different syntax
      - `yield from` doesn't exist
      - `tempdir.TemporaryDirectory` doesn't exist
      - iterators need a `next()` method
      cb05590d
  21. 09 Feb, 2017 1 commit
  22. 08 Dec, 2016 1 commit
  23. 21 Nov, 2016 1 commit
  24. 17 Nov, 2016 1 commit
  25. 11 Nov, 2016 1 commit
    • Martin Bauer's avatar
      Changed symbolsRead/ symbolsDefined semantics · b207d071
      Martin Bauer authored
      problem in moveConstantBeforeLoops transformation:
      
      --> a should end up here
      {
      for() {
        const int a = 5;
      }
      for() {
        const int a = 5
      }
      }
      
      the "a" of the lower loop was not moved up, since it could not move across first loop (which is wrong)
      b207d071
  26. 10 Nov, 2016 1 commit
  27. 04 Nov, 2016 1 commit
    • Martin Bauer's avatar
      Sliced iteration · 411af476
      Martin Bauer authored
      - LoopOverDomain changed to be able to loop over rectangular sub-region of field
      - support for slicing with makeSlice
      411af476
  28. 03 Nov, 2016 2 commits
  29. 02 Nov, 2016 1 commit