Advanced Streaming Extensions
-
Review changes -
-
Download -
Patches
-
Plain diff
This patch extends lbmpy's support for advanced streaming patterns. In particular, the Push-Collide-Stream, AA-Pattern and Esoteric Twist are considered.
-
Boundary Handling: The LBM boundary implementations are overhauled completely. A new framework for defining and generating boundary kernels is introduced, which makes the symbolic definition independent of the streaming pattern. Boundaries can now be defined symbolically using the proxy fields
f_out
for accessing populations streaming out of a cell, andf_in
for populations streaming in to a cell. Those are replaced during the code generation process according to the streaming pattern. The classBetweenTimestepsIndexing
used herein can also be used to generate other kernels that run on the PDF-field in-between collision steps. -
Periodicity Handling: The build-in periodicity synchronization of pystencil's
DataHandling
does not work for advanced LBM streaming. The new classLBMPeriodicityHandling
extends theSerialDataHandling
to handle periodicity correctly. -
Utility: The patch introduces a few utility functions for the work with advanced streaming patterns.
Merge request reports
- version 41830bf076
- version 4056fd08b4
- version 3939d171b3
- version 3832e796ff
- version 37fb03ba0c
- version 36fe2b7f9c
- version 356b1145e7
- version 342504b1bb
- version 33ec6c62ba
- version 3214984e2b
- version 31342663c5
- version 30f5ff4df4
- version 29b1ba7bd7
- version 28115b0b08
- version 27fe36b5a3
- version 2651165277
- version 254e43ec24
- version 242dc00f22
- version 23c91bf2ac
- version 22577f7797
- version 21ac69e4f1
- version 209bc0632b
- version 1907494c69
- version 18231adc92
- version 171a97248c
- version 1606124196
- version 1506aeddba
- version 14ef03d2e6
- version 1328a9823b
- version 12a943e632
- version 1197032f3d
- version 10a6c4c41d
- version 91a13269e
- version 840bd6745
- version 7ab28a143
- version 6bad8c3d1
- version 5759a3921
- version 421122ee0
- version 38244c40e
- version 2b1ee4c0b
- version 15c876796
- master (base)
- latest version59ec6a0a50 commits,
- version 41830bf07649 commits,
- version 4056fd08b448 commits,
- version 3939d171b347 commits,
- version 3832e796ff46 commits,
- version 37fb03ba0c45 commits,
- version 36fe2b7f9c44 commits,
- version 356b1145e743 commits,
- version 342504b1bb42 commits,
- version 33ec6c62ba41 commits,
- version 3214984e2b40 commits,
- version 31342663c538 commits,
- version 30f5ff4df437 commits,
- version 29b1ba7bd736 commits,
- version 28115b0b0835 commits,
- version 27fe36b5a334 commits,
- version 265116527733 commits,
- version 254e43ec2432 commits,
- version 242dc00f2231 commits,
- version 23c91bf2ac27 commits,
- version 22577f779726 commits,
- version 21ac69e4f125 commits,
- version 209bc0632b24 commits,
- version 1907494c6923 commits,
- version 18231adc9222 commits,
- version 171a97248c21 commits,
- version 160612419620 commits,
- version 1506aeddba19 commits,
- version 14ef03d2e618 commits,
- version 1328a9823b17 commits,
- version 12a943e63216 commits,
- version 1197032f3d15 commits,
- version 10a6c4c41d14 commits,
- version 91a13269e13 commits,
- version 840bd674512 commits,
- version 7ab28a14311 commits,
- version 6bad8c3d110 commits,
- version 5759a39218 commits,
- version 421122ee07 commits,
- version 38244c40e6 commits,
- version 2b1ee4c0b4 commits,
- version 15c8767963 commits,