<feed xmlns='http://www.w3.org/2005/Atom'>
<title>boltzgen, branch v0.1.2</title>
<subtitle>Symbolic generation of LBM kernels</subtitle>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/'/>
<entry>
<title>Improve lattice, model selection error reporting</title>
<updated>2019-11-02T16:32:41+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-11-02T16:32:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=05e74fb112f5b5f645b649c587d18052c7b7f9df'/>
<id>05e74fb112f5b5f645b649c587d18052c7b7f9df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Import `sympy.ccode` inside templates instead of as argument</title>
<updated>2019-11-02T16:29:56+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-11-02T16:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=f233beddfc74d5933f46684adab5298e03c08871'/>
<id>f233beddfc74d5933f46684adab5298e03c08871</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Restructure LBM model / lattice distinction</title>
<updated>2019-11-02T16:18:32+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-11-02T16:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=24847cbb2567f508a7c30b39c6fb7ba6379d1adc'/>
<id>24847cbb2567f508a7c30b39c6fb7ba6379d1adc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Call symbolic generator inside code templates</title>
<updated>2019-10-31T12:13:00+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-31T12:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=e2b00f4ec963060be98939c7b0d12d6c00e50a02'/>
<id>e2b00f4ec963060be98939c7b0d12d6c00e50a02</id>
<content type='text'>
This paves the way for dropping in other LBM collision models.
As a side benefit the default momenta calulcation is now fully inlined where possible.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This paves the way for dropping in other LBM collision models.
As a side benefit the default momenta calulcation is now fully inlined where possible.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move C++ example to boltzgen_examples repository</title>
<updated>2019-10-30T15:12:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-30T15:12:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=c82b38122cc3ab7717cb0ba9ec530b4658bd03e4'/>
<id>c82b38122cc3ab7717cb0ba9ec530b4658bd03e4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't try to reuse population layout for moment array indexing</title>
<updated>2019-10-29T19:33:30+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T19:33:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=09f45c1d1da37bf4f6fa4094eb2d2ea18e8aaf21'/>
<id>09f45c1d1da37bf4f6fa4094eb2d2ea18e8aaf21</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Return cell id as string expression when required</title>
<updated>2019-10-29T18:53:05+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T18:53:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=1ce3b58dabba59741343cbd9e7e4c9f58f10f91b'/>
<id>1ce3b58dabba59741343cbd9e7e4c9f58f10f91b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for generating custom templates in boltzgen's context</title>
<updated>2019-10-29T18:38:32+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T18:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=61d77cf8aa815b456d873ff3c01e54ad21a8fce9'/>
<id>61d77cf8aa815b456d873ff3c01e54ad21a8fce9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename target module to memory</title>
<updated>2019-10-29T18:30:50+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T18:30:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=a0438d434a8dde45e6fdab38d44181f0cd0cb2c6'/>
<id>a0438d434a8dde45e6fdab38d44181f0cd0cb2c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move further generator arguments into its constructor</title>
<updated>2019-10-29T18:25:38+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T18:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=a6dcb57cff9a1dd9de7e5fafdc87230489be87b9'/>
<id>a6dcb57cff9a1dd9de7e5fafdc87230489be87b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract cell indexing function</title>
<updated>2019-10-29T15:05:04+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T15:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=d801f538a090838a15e74282239369b73723c4f4'/>
<id>d801f538a090838a15e74282239369b73723c4f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Unify AOS, SOA specific cell preshift between targets</title>
<updated>2019-10-29T09:56:41+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-29T09:56:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=dbd9a340a7809a770d52d10154712278431acdc3'/>
<id>dbd9a340a7809a770d52d10154712278431acdc3</id>
<content type='text'>
SOA and AOS should not be target specific, neighbor offset calculation /
bijection between gid and cell coordinates should be customizable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SOA and AOS should not be target specific, neighbor offset calculation /
bijection between gid and cell coordinates should be customizable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set default order for custom ndindex overload</title>
<updated>2019-10-28T21:33:53+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-28T21:29:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=15c0cba693646269c04f245ca52f405ddfdb4a07'/>
<id>15c0cba693646269c04f245ca52f405ddfdb4a07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use order-accepting ndindex method for generating cell indices</title>
<updated>2019-10-28T21:00:05+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-28T21:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=72e7097073b03e6584f603b905b5a4fc236d7def'/>
<id>72e7097073b03e6584f603b905b5a4fc236d7def</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add basic setup.py</title>
<updated>2019-10-28T20:52:34+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-28T20:52:34+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=091811762b7f2cbb6575139276ea16bf54d3456b'/>
<id>091811762b7f2cbb6575139276ea16bf54d3456b</id>
<content type='text'>
No guarantee for correctness - I mostly fiddled this together in order
to use common nixpkgs python package functions  for including boltzgen
in other shell environments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No guarantee for correctness - I mostly fiddled this together in order
to use common nixpkgs python package functions  for including boltzgen
in other shell environments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optionally generate cell-list-based OpenCL dispatch functions</title>
<updated>2019-10-27T21:22:24+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T21:22:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=536b25e2c2b742c17d023d2b3386fed4dc60a339'/>
<id>536b25e2c2b742c17d023d2b3386fed4dc60a339</id>
<content type='text'>
Requires different function naming as OpenCL 1.2 doesn't support overloads.

The OpenCL kernel code generated using this commit was successfully tested
on an actual GPU. Time to set up some automatic validation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Requires different function naming as OpenCL 1.2 doesn't support overloads.

The OpenCL kernel code generated using this commit was successfully tested
on an actual GPU. Time to set up some automatic validation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Verify precision parameter</title>
<updated>2019-10-27T21:09:27+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T21:09:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=1b9ac6e7aee3cf63495a65c2d7dbf79a0be23d7d'/>
<id>1b9ac6e7aee3cf63495a65c2d7dbf79a0be23d7d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add README</title>
<updated>2019-10-27T19:11:36+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T19:11:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=89f60f39a226bef5ccd8c52dbd57891c3a4d74c7'/>
<id>89f60f39a226bef5ccd8c52dbd57891c3a4d74c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Accept cell id as parameter in OpenCL functions</title>
<updated>2019-10-27T18:50:21+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T18:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=a99edaaa0e9a95354f68614cd2f4ab801179b946'/>
<id>a99edaaa0e9a95354f68614cd2f4ab801179b946</id>
<content type='text'>
It is more flexible to place OpenCL thread ID dependent dispatching in a separate function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is more flexible to place OpenCL thread ID dependent dispatching in a separate function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add bounce back boundary condition</title>
<updated>2019-10-27T18:40:56+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T18:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=dcd162aef328cde66082a3333740ec6f58298a4c'/>
<id>dcd162aef328cde66082a3333740ec6f58298a4c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tidy up shell environment</title>
<updated>2019-10-27T18:18:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T18:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=6e99286c9a756272e972fe21212b094de95d36f6'/>
<id>6e99286c9a756272e972fe21212b094de95d36f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use Mako defines to generate momenta boundaries</title>
<updated>2019-10-27T18:11:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T18:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=4315b5c62fe862dcacbe2a8958732c8a66bdb6e1'/>
<id>4315b5c62fe862dcacbe2a8958732c8a66bdb6e1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract target-dependent floating point type name</title>
<updated>2019-10-27T15:11:17+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T15:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=30f262287bd43015b155b0e882e6478cfae2780c'/>
<id>30f262287bd43015b155b0e882e6478cfae2780c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move layout implementations into separate folder</title>
<updated>2019-10-27T15:10:33+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T15:03:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=6938758f6c1754f0ee49d0709dd0ca376a146010'/>
<id>6938758f6c1754f0ee49d0709dd0ca376a146010</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable bytecode caching</title>
<updated>2019-10-27T15:02:31+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T15:02:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=74c60dcbe56862d73b000d569423cb298fb06686'/>
<id>74c60dcbe56862d73b000d569423cb298fb06686</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate functions into separate template files</title>
<updated>2019-10-27T13:05:21+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-27T13:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=18c54d79699db7554faa851c87d7113db67a8a08'/>
<id>18c54d79699db7554faa851c87d7113db67a8a08</id>
<content type='text'>
Selection of the desired templates is possible via a new `functions` parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Selection of the desired templates is possible via a new `functions` parameter.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add extra toggle for OpenMP in C++ test function</title>
<updated>2019-10-26T21:00:50+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T21:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=7fa72d8718d96727bcfd60cc3bcb1609526d3c9b'/>
<id>7fa72d8718d96727bcfd60cc3bcb1609526d3c9b</id>
<content type='text'>
Yields ~160 MLUPs on a Xeon E3-1241 for D2Q9 double precision lid driven cavity.
Obviously not anywhere near what is possible on GPUs but respectable for a CPU implementation.
Especially considering how simple it is.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Yields ~160 MLUPs on a Xeon E3-1241 for D2Q9 double precision lid driven cavity.
Obviously not anywhere near what is possible on GPUs but respectable for a CPU implementation.
Especially considering how simple it is.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change C++ test function to LDC with optional VTK output</title>
<updated>2019-10-26T20:44:59+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T20:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=2a976c2c60565ea3f904feaf4ea573b2769e3084'/>
<id>2a976c2c60565ea3f904feaf4ea573b2769e3084</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Generate primitive velocity momenta BC for C++ target</title>
<updated>2019-10-26T20:44:09+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T20:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=820ed4b674a199c252e1b77ee7013f330ef284bb'/>
<id>820ed4b674a199c252e1b77ee7013f330ef284bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support passing additional string arguments to the generator</title>
<updated>2019-10-26T13:01:39+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T13:01:39+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=1bf577b1c5e606ac2c0553857297ce8c0c04ccb7'/>
<id>1bf577b1c5e606ac2c0553857297ce8c0c04ccb7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement AOS layout for the OpenCL target</title>
<updated>2019-10-26T12:21:17+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T12:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=71e0d07ec0cdf528eb5d962ce97bd6c55da52eae'/>
<id>71e0d07ec0cdf528eb5d962ce97bd6c55da52eae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add optional flag to disable CSE</title>
<updated>2019-10-26T12:11:25+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T12:11:25+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=769bc4c97d5686ab614bb134abddef87f3f41519'/>
<id>769bc4c97d5686ab614bb134abddef87f3f41519</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add BGK relaxation time argument</title>
<updated>2019-10-26T11:42:11+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T11:42:11+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=9ddfd0f54ddb95b181421c851826e0bb462c249d'/>
<id>9ddfd0f54ddb95b181421c851826e0bb462c249d</id>
<content type='text'>
Still thinking how various collision models (BGK, MRT and so on) may be
nicely abstracted in this setting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Still thinking how various collision models (BGK, MRT and so on) may be
nicely abstracted in this setting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cpp test function</title>
<updated>2019-10-26T11:38:09+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T11:38:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=1c58183e84b2f7024855dc3c5bac19c48ba45f69'/>
<id>1c58183e84b2f7024855dc3c5bac19c48ba45f69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add python shebang</title>
<updated>2019-10-26T11:34:56+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T11:34:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=b2013631b880972f5632e88b3d1bee77935720fb'/>
<id>b2013631b880972f5632e88b3d1bee77935720fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add geometry argument</title>
<updated>2019-10-26T11:30:17+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T11:30:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=4a56c8448653ecc4fea9cee89e70b32dd5aadbc2'/>
<id>4a56c8448653ecc4fea9cee89e70b32dd5aadbc2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add lattice argument</title>
<updated>2019-10-26T10:51:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T10:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=afbb5520cd2140c108adffd6170b5a83faf329f2'/>
<id>afbb5520cd2140c108adffd6170b5a83faf329f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Generalize floating point precision argument</title>
<updated>2019-10-26T10:40:35+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T10:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=8e968727a9c2c5a1b3be858b1102e70651f34168'/>
<id>8e968727a9c2c5a1b3be858b1102e70651f34168</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ctags to environment</title>
<updated>2019-10-26T10:40:02+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-26T10:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=58d926cb7329a0da941ab1f3451ec0282795811c'/>
<id>58d926cb7329a0da941ab1f3451ec0282795811c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract offset helper into target and layout specific classes</title>
<updated>2019-10-24T19:52:45+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-24T19:52:45+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=73de5f16efc696cf0c88beec086eb9a4df9098dd'/>
<id>73de5f16efc696cf0c88beec086eb9a4df9098dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle missing memory layout argument</title>
<updated>2019-10-24T12:43:06+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-24T12:43:06+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=b3d131b94f9417c0c4cd6733433c86ca780dde5e'/>
<id>b3d131b94f9417c0c4cd6733433c86ca780dde5e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test template for C++, enable switching between AOS and SOA</title>
<updated>2019-10-24T12:33:59+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-24T12:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=f1c5164b327054fc540527e973ff7843d4c01996'/>
<id>f1c5164b327054fc540527e973ff7843d4c01996</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Some cleanup, add `collect_moments` to C++ template</title>
<updated>2019-10-23T20:03:46+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-23T20:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=2e07d5fac4d3fedcd2cc9ccbab27f50c69f65983'/>
<id>2e07d5fac4d3fedcd2cc9ccbab27f50c69f65983</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Return error for unavailable templates</title>
<updated>2019-10-22T08:55:07+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-22T08:55:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=54efae7153dd9a6ef1768ff3a054c082e090b4ca'/>
<id>54efae7153dd9a6ef1768ff3a054c082e090b4ca</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add basic Generator class</title>
<updated>2019-10-22T08:49:44+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-22T08:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=c27ee89f265f73fa77ec043e4f2a52c5c3859965'/>
<id>c27ee89f265f73fa77ec043e4f2a52c5c3859965</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add basic argument parsing</title>
<updated>2019-10-21T20:33:13+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-21T20:33:13+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=8fb7705428a6524a436a5dd8806ad8076b7f4e08'/>
<id>8fb7705428a6524a436a5dd8806ad8076b7f4e08</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pull in C++ template from symlbm_playground's standalone branch</title>
<updated>2019-10-21T20:24:51+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-21T20:23:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=8f88aea2c963ebe63db83480fc9a4b48451220af'/>
<id>8f88aea2c963ebe63db83480fc9a4b48451220af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pull in basics from symlbm_playground</title>
<updated>2019-10-21T16:48:38+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-10-21T16:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/boltzgen/commit/?id=82a44e0d64afb8818ea98d68dc08108885d503c2'/>
<id>82a44e0d64afb8818ea98d68dc08108885d503c2</id>
<content type='text'>
It's time to extract the generator-part of my GPU LBM playground and turn it
into a nice reusable library. The goal is to produce a framework that can be
used to generate collision and streaming programs from symbolic descriptions.

i.e. it should be possible to select a LB model, the desired boundary
conditions as well as a data structure / streaming model and use this
information to automatically generate matching OpenCL / CUDA / C++
programs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's time to extract the generator-part of my GPU LBM playground and turn it
into a nice reusable library. The goal is to produce a framework that can be
used to generate collision and streaming programs from symbolic descriptions.

i.e. it should be possible to select a LB model, the desired boundary
conditions as well as a data structure / streaming model and use this
information to automatically generate matching OpenCL / CUDA / C++
programs.
</pre>
</div>
</content>
</entry>
</feed>
