1. 10 Oct, 2017 4 commits
  2. 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
  3. 26 Sep, 2017 2 commits
  4. 21 Jul, 2017 1 commit
  5. 01 Jul, 2017 1 commit
    • Martin Bauer's avatar
      Kerncraft coupling · 3b4deebe
      Martin Bauer authored
      - pystencils can create now a non-compilable kernel that can be
        analyzed by kerncraft
      3b4deebe
  6. 05 May, 2017 1 commit
  7. 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
  8. 19 Mar, 2017 1 commit
  9. 16 Mar, 2017 1 commit
  10. 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
  11. 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
  12. 10 Mar, 2017 1 commit
  13. 02 Mar, 2017 1 commit
  14. 23 Feb, 2017 2 commits
  15. 14 Feb, 2017 2 commits
  16. 13 Feb, 2017 2 commits
    • 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
    • Martin Bauer's avatar
      pystencils: additional checks when calling kernel · 184489d0
      Martin Bauer authored
      - check that fixed size kernels are called with arrays of the correct size
      - checks that layout of compilation matches runtime layout
      - not allowed any more to mix fixed & and variable sized fields in a kernel
      184489d0
  17. 09 Feb, 2017 1 commit
  18. 16 Dec, 2016 3 commits
  19. 15 Dec, 2016 1 commit
  20. 08 Dec, 2016 1 commit
  21. 28 Nov, 2016 1 commit
  22. 25 Nov, 2016 1 commit
  23. 24 Nov, 2016 1 commit
  24. 17 Nov, 2016 2 commits
  25. 16 Nov, 2016 1 commit
  26. 15 Nov, 2016 2 commits
  27. 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
  28. 10 Nov, 2016 2 commits