Skip to content
Snippets Groups Projects
  1. Aug 16, 2019
  2. Aug 14, 2019
  3. Aug 13, 2019
  4. Aug 12, 2019
  5. Aug 06, 2019
    • Markus Holzer's avatar
      implemented derivation of gradient weights via rotation · 248a5e0d
      Markus Holzer authored and Markus Holzer's avatar Markus Holzer committed
      derive gradient weights of other direction with
      already calculated weights of one direction
      via rotation and apply them to a field.
      
      as_matrix gives now a deprecated warning and as_array is no newly implemented to replace it. as_array works with MutableDenseNDimArray now instead of Matrix
      248a5e0d
  6. Aug 05, 2019
  7. Aug 02, 2019
  8. Jul 18, 2019
  9. Jul 15, 2019
  10. Jul 11, 2019
  11. Jul 10, 2019
    • Stephan Seitz's avatar
      Add DestructuringBindingsForFieldClass to use pystencils kernels in a more C++-ish way · 8e63c9ff
      Stephan Seitz authored
      DestructuringBindingsForFieldClass defines all field-related variables
      in its subordinated block.
      However, it leaves a TypedSymbol of type 'Field' for each field
      undefined.
      By that trick we can generate kernels that accept structs as
      kernelparameters.
      Either to include a pystencils specific Field struct of the following
      definition:
      
      ```cpp
      template<DTYPE_T, DIMENSION>
      struct Field
      {
          DTYPE_T* data;
          std::array<DTYPE_T, DIMENSION> shape;
          std::array<DTYPE_T, DIMENSION> stride;
      }
      
      or to be able to destructure user defined types like `pybind11::array`,
      `at::Tensor`, `tensorflow::Tensor`
      
      ```
      8e63c9ff
  12. Jul 08, 2019
  13. Jun 27, 2019
  14. Jun 18, 2019
    • Martin Bauer's avatar
      CUDA indexing: clip to maximum cuda block size · 1754ef27
      Martin Bauer authored
      - previous method did not work with kernels generated for walberla where
        block size changes are made at runtime
      - device query does not always work, since the compile system may have
        no GPU or not the same GPU
      -> max block size is passed as parameter and only optionally determined
         by a device query
      release/0.2.3
      1754ef27
  15. Jun 12, 2019
  16. May 05, 2019
  17. May 03, 2019
  18. Apr 28, 2019
  19. Apr 26, 2019
    • Martin Bauer's avatar
      Enhancement in move_constants_before loop · eec4dc4b
      Martin Bauer authored
      When two loops have assignments to the same symbol with different
      rhs and both are pulled before the loops, one of them is now renamed.
      Previously one of them was left inside the loop.
      
      Fixes #27
      eec4dc4b
  20. Apr 24, 2019
    • Martin Bauer's avatar
      Improvements for GPU code generation · f504b40f
      Martin Bauer authored
      - turned on restrict keyword by default (makes large difference on GPUs)
      - smarter block indexing: changing block size depending on domain size
        Example: previously there where (1,1,1) blocks when requested
        block size was (64, 1, 1) and domain size (1, 512, 512), now the
        block size is changed automatically to (1, 64, 1) in this case
      - added __lauch_bounds__ to kernels to allow better optimizations from
        the CUDA compiler
      f504b40f
  21. Apr 03, 2019
  22. Apr 01, 2019
  23. Mar 28, 2019
  24. Mar 22, 2019
  25. Mar 21, 2019
    • Martin Bauer's avatar
      Separated modules into subfolders with own setup.py · 1e02cdc7
      Martin Bauer authored
      This restructuring allows for easier separation of modules into
      separate repositories later. Also, now pip install with repo url can be
      used.
      
      The setup.py files have also been updated to correctly reference each
      other. Module versions are not extracted from git state
      1e02cdc7