- Aug 02, 2019
-
-
Stephan Seitz authored
-
- Jul 18, 2019
-
-
-
- rename header Field.h is not a unique name in waLBerla context - add PyStencilsField.h - bindings were lacking data type
-
Martin Bauer authored
functions like absolute values could not be used in CUDA backend since known_functions was replaced instead of updated
-
Martin Bauer authored
-
Martin Bauer authored
-
Martin Bauer authored
Add CudaBackend, CudaSympyPrinter to extract CUDA-specific code from CBackend, CustomSympyPrinter Cuda built-ins are added to CudaSympyPrinter.known_functions to use them as sympy.Function
-
- Jul 15, 2019
-
-
Martin Bauer authored
-
Stephan Seitz authored
# Conflicts: # pystencils/cpu/cpujit.py
-
Stephan Seitz authored
-
Stephan Seitz authored
-
Stephan Seitz authored
-
Stephan Seitz authored
-
Stephan Seitz authored
-
Stephan Seitz authored
-
- Jul 12, 2019
-
-
Stephan Seitz authored
-
- Jul 11, 2019
-
-
Martin Bauer authored
- version has to be obtained from file when no git repo is available like in tar-ball distributed by pypi
-
Martin Bauer authored
-
Martin Bauer authored
-
Martin Bauer authored
-
Martin Bauer authored
- backend, target and compile are now normal members of the KernelFunction node and populated in constructor
-
Martin Bauer authored
-
Martin Bauer authored
-
- Jul 10, 2019
-
-
Martin Bauer authored
Destructuring field binding See merge request !4
-
Stephan Seitz authored
-
Stephan Seitz authored
-
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` ```
-
Martin Bauer authored
Add global_declarations to cbackend See merge request !5
-
Martin Bauer authored
Make subexpressions optional for constructing an AssignmentCollection See merge request !3
-
Martin Bauer authored
Address of SymPy-Function `address_of` See merge request !1
-
- Jul 08, 2019
-
-
Stephan Seitz authored
This enables astnodes.Nodes to have a member required_global_declarations by which they can specify a global declaration required for their usage.
-
- Jul 03, 2019
-
-
Stephan Seitz authored
When introducing new people to pystencils it's often simpler not to differentiate between `main_assignments` and `subexpressions` in the beginning. Also for simple kernels subexpressions are often not needed, since intermediate symbols can also be set in main_assignments. Subexpression should be kept for expert users.
-
- Jun 27, 2019
-
-
Stephan Seitz authored
-
Stephan Seitz authored
-
- Jun 18, 2019
-
-
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
-
- Jun 14, 2019
-
-
Martin Bauer authored
-> different fields need different shape/stride symbols
-
Martin Bauer authored
-
- Jun 12, 2019
-
-
Martin Bauer authored
Block.subs method tried to be too smart: a = field[..] b = a + b was "simplified" incorrectly to b = field[...] + b
-
- Jun 07, 2019
-
-
Stephan Seitz authored
-
- May 29, 2019
-
-
Martin Bauer authored
-