aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Kummerlaender2019-11-05 23:46:47 +0100
committerAdrian Kummerlaender2019-11-05 23:46:47 +0100
commit814e6253475c7955eb6a46d814e5a86974e58613 (patch)
tree37b575c3014a21738a0dde594c215713b8d685d0
parent62e3d5708470415b9ea2f0a737acaf4e2d00bb21 (diff)
downloadboltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar.gz
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar.bz2
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar.lz
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar.xz
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.tar.zst
boltzgen-814e6253475c7955eb6a46d814e5a86974e58613.zip
Update README
-rw-r--r--README.md25
1 files changed, 17 insertions, 8 deletions
diff --git a/README.md b/README.md
index df22b58..fa8c1c6 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,9 @@ At the moment this is a more structured and cleaned up version of the OpenCL ker
* equilibrilization and moment collection utility functions
* optimization via common subexpression elimination
* array-of-structures and structure-of-arrays memory layouts
+* configurable cell indexing sequence
* static resolution of memory offsets
-* AB streaming pattern
+* AB and AA streaming patterns
* C++ and OpenCL targets
* simple CLI frontend
@@ -24,23 +25,28 @@ The development and execution environment is described using a Nix expression in
```
> nix-shell
> ./boltzgen.py --help
-usage: boltzgen.py [-h] --lattice LATTICE --layout LAYOUT --precision
- PRECISION --geometry GEOMETRY --tau TAU [--disable-cse]
+usage: boltzgen.py [-h] --lattice LATTICE [--model MODEL] --precision
+ PRECISION --layout LAYOUT [--index INDEX] --streaming
+ STREAMING --geometry GEOMETRY --tau TAU [--disable-cse]
[--functions FUNCTIONS [FUNCTIONS ...]]
[--extras EXTRAS [EXTRAS ...]]
- language
+ target
Generate LBM kernels in various languages using a symbolic description.
positional arguments:
- language Target language (currently either "cl" or "cpp")
+ target Target language (currently either "cl" or "cpp")
optional arguments:
-h, --help show this help message and exit
- --lattice LATTICE Lattice type (D2Q9, D3Q7, D3Q19, D3Q27)
- --layout LAYOUT Memory layout ("AOS" or "SOA")
+ --lattice LATTICE Lattice type ("D2Q9", "D3Q7", "D3Q19", "D3Q27")
+ --model MODEL LBM model (currently only "BGK")
--precision PRECISION
Floating precision ("single" or "double")
+ --layout LAYOUT Memory layout ("AOS" or "SOA")
+ --index INDEX Cell indexing ("XYZ" or "ZYX")
+ --streaming STREAMING
+ Streaming pattern ("AB" or "AA")
--geometry GEOMETRY Size of the block geometry ("x:y(:z)")
--tau TAU BGK relaxation time
--disable-cse Disable common subexpression elimination
@@ -51,8 +57,9 @@ optional arguments:
> ./boltzgen.py cpp --lattice D2Q9
\ --geometry 128:128
-\ --layout AOS
\ --precision double
+\ --streaming AB
+\ --layout AOS
\ --tau 0.52
\ --functions default bounce_back_boundary | tee kernel.h
void collide_and_stream( double* f_next,
@@ -69,3 +76,5 @@ void collide_and_stream( double* f_next,
const double f_curr_4 = preshifted_f_prev[4];
[...]
```
+
+For some examples on how to actually run the generated code see [boltzgen_examples](https://github.com/KnairdA/boltzgen_examples).