Pystencils 2.0
- Fixes #18.
- Fixes #1.
- Fixes #28.
- Fixes the non-determinism issue in the
NonlinearDiffusionNewtonGalerkin
operator.
Bases the operator generation on the new pystencils backend (to be released as version 2.0) and gets rid of our own fork. The new backend is significantly more efficient, less prone to bugs, and easily extensible. Vectorized code is also properly typed, which means that we do not need any stunts in our blending kernels to compute the quadrature points from the loop counters.
Includes some additional quality improvements:
- Refactors the loop strategies to be stateless and such that all the magic happens in a single function.
- Removes the
HOGType
class because that was nothing more than boilerplate code. - Improves a few docstrings.
- Removes many unused imports.
- Includes pystencils in static type checking.
Some (mostly) unused features are removed with the idea that they will be reimplemented more generally in the future:
- Loop strategy
FUSEDROWS
: To be reimplemented as a special case of general blocking (much likeCUBES
). - Optimizations
reduce_reuse_dist
andelimtmps_and_reorder
.
Edited by Daniel Bauer