Skip to content

Draft: Changes for compatibility with pystencils 2.0

Frederik Hennig requested to merge fhennig/pystencils2.0-compat into master

Introduce a significant number of patches for compatibility with the upcoming pystencils 2.0.

Changes

Testing & CI

  • Introduce nox to orchestrate environments and testing
  • Adapt CI to use nox sessions where applicable
  • Remove minimal_conda and ubuntu CI tasks
    • Since the pycodegen/ubuntu docker image is based on a CUDA image, and using a virtual environment for Python, the ubuntu task effectively does the same as the Nox+CUDA task
  • Introduce nox session and CI task to test against pystencils/v2.0-dev

Status

  • Fix field duplication in create_lb_update_rule: Remove the workaround once field duplication is fixed in pystencils
  • Data types in boundary handling: LatticeBoltzmannBoundaryHandling does not allow to specify a data type and always uses float64. This leads to type errors when combined with LB fields with float32 dtype.
  • Mixed precision: Need to explicitly insert casts at field reads/writes when computing and storing PDFs in different float formats
Edited by Frederik Hennig

Merge request reports