- Aug 16, 2019
-
-
Martin Bauer authored
- str(e) did work in previous pytest version - but the correct usage is str(e.value) - in newer pytest version the string for the e object is changed so the tests did not work any more
-
Martin Bauer authored
- numpy constants get directly their numpy type - integer functions check for integer types at construction
-
Martin Bauer authored
-
- Aug 14, 2019
-
-
Michael Kuron authored
-
Michael Kuron authored
-
- Aug 13, 2019
-
-
Michael Kuron authored
-
Michael Kuron authored
-
- Aug 12, 2019
-
-
Stephan Seitz authored
-
- Aug 06, 2019
-
-
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
-
- Aug 05, 2019
-
-
Stephan Seitz authored
This commit avoid dependency of core pystencils on jinja2. However this could make the printing of some AST-nodes less elegant.
-
- 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
-
- Jul 15, 2019
-
-
Stephan Seitz authored
-
Stephan Seitz authored
-
Stephan Seitz authored
-
- Jul 11, 2019
-
-
Martin Bauer authored
-
Martin Bauer authored
- backend, target and compile are now normal members of the KernelFunction node and populated in constructor
-
- Jul 10, 2019
-
-
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` ```
-
- 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.
-
- Jun 27, 2019
-
-
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 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
-
- May 05, 2019
-
-
Martin Bauer authored
- stencil plotting & transformation now in ps.stencil - additional documentation & notebooks
-
- May 03, 2019
-
-
Martin Bauer authored
-
- Apr 28, 2019
-
-
Martin Bauer authored
-
Martin Bauer authored
-
- Apr 26, 2019
-
-
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
-
- Apr 24, 2019
-
-
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
-
- Apr 03, 2019
-
-
Martin Bauer authored
-
- Apr 01, 2019
-
-
Martin Bauer authored
-
- Mar 28, 2019
-
-
Martin Bauer authored
-
- Mar 22, 2019
-
-
Martin Bauer authored
-
Martin Bauer authored
-
- Mar 21, 2019
-
-
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
-