<feed xmlns='http://www.w3.org/2005/Atom'>
<title>symlbm_playground, branch ink</title>
<subtitle>Tinkering with LBM, OpenCL and SymPy-based code generation</subtitle>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/'/>
<entry>
<title>Cleanup</title>
<updated>2019-09-11T17:12:29+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-11T17:12:29+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=89f21e0a1fceacea5ed2c2b02dfcaca76249aec2'/>
<id>89f21e0a1fceacea5ed2c2b02dfcaca76249aec2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a fun little fake bonfire _simulation_</title>
<updated>2019-09-06T20:29:05+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-06T20:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=bf967631c146997d7673798318d94b0a186ec89d'/>
<id>bf967631c146997d7673798318d94b0a186ec89d</id>
<content type='text'>
…using appropriately colored aging particles
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…using appropriately colored aging particles
</pre>
</div>
</content>
</entry>
<entry>
<title>Change particle color</title>
<updated>2019-09-05T19:12:48+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-05T19:12:48+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=3b2d08e57a272f14c1385ebc458f0c2b431414b9'/>
<id>3b2d08e57a272f14c1385ebc458f0c2b431414b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Try out deferred particle streaming</title>
<updated>2019-09-05T19:10:13+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-05T19:10:13+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=703810267472cd4e4e936e37d36250dd6c7ad8ca'/>
<id>703810267472cd4e4e936e37d36250dd6c7ad8ca</id>
<content type='text'>
i.e. apply direct Euler multiple times for each moment collection
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
i.e. apply direct Euler multiple times for each moment collection
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset stuck particles to starting position</title>
<updated>2019-09-04T20:52:38+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-04T20:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=4974c2ccc7f640d6a657c22cc1a3dfa9d114b8f0'/>
<id>4974c2ccc7f640d6a657c22cc1a3dfa9d114b8f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prototype "ink" particles visualization</title>
<updated>2019-09-01T21:06:10+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-09-01T21:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=a89d3eba9aec11a4f55817fcdb189fcd6f26b574'/>
<id>a89d3eba9aec11a4f55817fcdb189fcd6f26b574</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adapt examples to new material interface</title>
<updated>2019-08-30T15:00:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-08-30T15:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=0a64777ddc063d9b3f4abd68383e4ef998977bb7'/>
<id>0a64777ddc063d9b3f4abd68383e4ef998977bb7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Start to use vectorizable indexing for material initialization</title>
<updated>2019-08-30T13:59:44+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-08-30T13:59:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=1b77a6cf4519274e0e32ac9f6018147ff30a1087'/>
<id>1b77a6cf4519274e0e32ac9f6018147ff30a1087</id>
<content type='text'>
`utility.ndindex` adds support for specifying the traversal order to `numpy.ndindex`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`utility.ndindex` adds support for specifying the traversal order to `numpy.ndindex`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Dampen channel inflow</title>
<updated>2019-07-25T18:59:06+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-25T18:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=bcc087a36ea7d84ac61a2c756458a208f6bc3ff3'/>
<id>bcc087a36ea7d84ac61a2c756458a208f6bc3ff3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update README.md</title>
<updated>2019-07-18T20:08:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-18T20:07:19+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b71608dd58d8ce38bc9f56615d7c2da1606975d1'/>
<id>b71608dd58d8ce38bc9f56615d7c2da1606975d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add another GL interop example</title>
<updated>2019-07-18T20:02:14+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-18T20:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=e88c55214091ae996585e17d6c0b175761e033f3'/>
<id>e88c55214091ae996585e17d6c0b175761e033f3</id>
<content type='text'>
…just for fun
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…just for fun
</pre>
</div>
</content>
</entry>
<entry>
<title>Update slides for talk</title>
<updated>2019-07-10T20:20:46+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-10T20:20:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=0dc1f594bd085eeb4d43dc816d7348d3bfdf2616'/>
<id>0dc1f594bd085eeb4d43dc816d7348d3bfdf2616</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 talk slides</title>
<updated>2019-07-09T22:16:10+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-09T22:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b0285f2b570c722fef9e181f6ecc8085fd9bf31c'/>
<id>b0285f2b570c722fef9e181f6ecc8085fd9bf31c</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.md</title>
<updated>2019-07-09T22:04:44+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-09T22:02:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=4d9d76afd3f47ef50cfe636e1ae76b7233d971a7'/>
<id>4d9d76afd3f47ef50cfe636e1ae76b7233d971a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update benchmark plots</title>
<updated>2019-07-08T20:08:41+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-08T20:08:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=a0ffeb83e095fb819db25e26cb92021800839779'/>
<id>a0ffeb83e095fb819db25e26cb92021800839779</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update benchmark plots</title>
<updated>2019-07-06T12:29:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-06T12:29:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=0cc77cdd56fab0aa6cbda47b982a053e522d8bcb'/>
<id>0cc77cdd56fab0aa6cbda47b982a053e522d8bcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update benchmark scripts</title>
<updated>2019-07-06T12:29:14+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-06T12:29:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=fc36e4031657a6d572fe70aa2d2a8365d658f017'/>
<id>fc36e4031657a6d572fe70aa2d2a8365d658f017</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add further non-CSE benchmark results @ P100</title>
<updated>2019-07-06T11:19:55+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-06T11:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=d2e9a5b04a0271c6ec31b1339a1ea7754c21749f'/>
<id>d2e9a5b04a0271c6ec31b1339a1ea7754c21749f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add further non-CSE benchmark results @ K2200</title>
<updated>2019-07-04T19:59:03+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-04T19:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=ba0b452fcb81adc6e1b9c987ed4df61c2c67d97d'/>
<id>ba0b452fcb81adc6e1b9c987ed4df61c2c67d97d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update benchmark plots</title>
<updated>2019-07-04T12:43:15+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-04T12:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=24b151b9fbcbbc35995e90782e2ea56ab1517d65'/>
<id>24b151b9fbcbbc35995e90782e2ea56ab1517d65</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update benchmark results of LDC @ Tesla P100</title>
<updated>2019-07-03T22:02:32+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-03T22:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=3973ca1a0630ed5668b90d8e9a5e8934636ed5ec'/>
<id>3973ca1a0630ed5668b90d8e9a5e8934636ed5ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Determine discrete velocities of D2Q9 and D3Q27</title>
<updated>2019-07-02T19:14:14+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-02T19:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=2f4794a0ddc0ff472ad3f0be20d7a15de72cfae4'/>
<id>2f4794a0ddc0ff472ad3f0be20d7a15de72cfae4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Determine lattice speed of sound</title>
<updated>2019-07-02T18:35:44+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-02T18:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=55fb5b62ab3381327d4b04cf1c5ab095874d29cc'/>
<id>55fb5b62ab3381327d4b04cf1c5ab095874d29cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Determine weights using Gauss-Hermite quadrature</title>
<updated>2019-07-02T12:59:46+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-02T12:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=7ee1ca337f25ab6ead86ead28c10df520cff1b63'/>
<id>7ee1ca337f25ab6ead86ead28c10df520cff1b63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand LDC benchmark scripts</title>
<updated>2019-07-01T20:28:27+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-07-01T20:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=f62fcf3e47919b1c893ac2335b9fdfb842f9595f'/>
<id>f62fcf3e47919b1c893ac2335b9fdfb842f9595f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move OpenCL buffers into Memory class</title>
<updated>2019-06-30T17:13:36+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-30T17:13:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=3ab16a1ac79e0781563c7564cd678a8c87474486'/>
<id>3ab16a1ac79e0781563c7564cd678a8c87474486</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement layout and memory padding</title>
<updated>2019-06-29T21:45:47+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-29T21:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b3acd514c5d629781e816b847aff9891015fa7bd'/>
<id>b3acd514c5d629781e816b847aff9891015fa7bd</id>
<content type='text'>
There are at least two distinct areas where padding can be beneficial on a GPU:

1. Padding the global thread sizes to support specific thread layouts
   e.g. (32,1) layouts require the global lattice width to be a multiple of 32
2. Padding the memory layout at the lowest level to align memory accesses
   i.e. some GPUs read memory in 128 Byte chunks and as such it is beneficial if
   the operations are aligned accordingly

For lattice and thread layout sizes that are exponents of two these two padding
areas are equivalent. However when one operates on e.g. a (300,300) lattice using
a (30,1) layout, padding to 128 bytes yields a performance improvement of about
10 MLUPS on a K2200.

Note that I am getting quite unsatisfied with how the Lattice class and
its suroundings continue to accumulate parameters. The naming distinction
between Geometry, Grid, Memory and Lattice is also not very intuitive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are at least two distinct areas where padding can be beneficial on a GPU:

1. Padding the global thread sizes to support specific thread layouts
   e.g. (32,1) layouts require the global lattice width to be a multiple of 32
2. Padding the memory layout at the lowest level to align memory accesses
   i.e. some GPUs read memory in 128 Byte chunks and as such it is beneficial if
   the operations are aligned accordingly

For lattice and thread layout sizes that are exponents of two these two padding
areas are equivalent. However when one operates on e.g. a (300,300) lattice using
a (30,1) layout, padding to 128 bytes yields a performance improvement of about
10 MLUPS on a K2200.

Note that I am getting quite unsatisfied with how the Lattice class and
its suroundings continue to accumulate parameters. The naming distinction
between Geometry, Grid, Memory and Lattice is also not very intuitive.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move some common benchmark plots into helper functions</title>
<updated>2019-06-28T14:03:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-28T14:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=e3f0f2cf010ccb90bca647af88f5395794496b5f'/>
<id>e3f0f2cf010ccb90bca647af88f5395794496b5f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some benchmark plots</title>
<updated>2019-06-27T19:10:09+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-27T19:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=05933a2f22c29afc8c9680c7725b8d5696b95ef9'/>
<id>05933a2f22c29afc8c9680c7725b8d5696b95ef9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adapt benchmark results format to be importable</title>
<updated>2019-06-25T19:55:14+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-25T19:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=9f5fa79347ae91012e8b820a1ab7064d70733431'/>
<id>9f5fa79347ae91012e8b820a1ab7064d70733431</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix LDC 3D x-z-plane plot</title>
<updated>2019-06-25T18:19:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-25T18:19:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=8a229d3f21e8393e5bea30e25e7579410caa9037'/>
<id>8a229d3f21e8393e5bea30e25e7579410caa9037</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add raw data of Tesla P100 benchmarks</title>
<updated>2019-06-25T18:04:04+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-25T18:04:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b248d1f42dce8c294cb7056b19ad8f6b2acfc58f'/>
<id>b248d1f42dce8c294cb7056b19ad8f6b2acfc58f</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 benchmark scripts, K2200 results</title>
<updated>2019-06-24T21:09:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-24T21:06:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=198ceb7b8b46442d96fcd99a78a9f179ab9a7a94'/>
<id>198ceb7b8b46442d96fcd99a78a9f179ab9a7a94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add interactive 2D LDC notebook, fix material initialization</title>
<updated>2019-06-22T17:59:36+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-22T17:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=e096aca2a38141ff0f3e78f3ebadd7a58760f7a6'/>
<id>e096aca2a38141ff0f3e78f3ebadd7a58760f7a6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add platform, precision and thread layout parameters</title>
<updated>2019-06-22T12:44:50+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-22T12:44:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=4df2d7678755c652f7af3d579a812dfc091a00e6'/>
<id>4df2d7678755c652f7af3d579a812dfc091a00e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract parameters in GL interop example</title>
<updated>2019-06-22T09:20:24+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-22T09:20:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=2129316819f9e9ea2c849f8d3001cf452c51fe4d'/>
<id>2129316819f9e9ea2c849f8d3001cf452c51fe4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Gather interop moments in a more generic manner</title>
<updated>2019-06-21T18:41:11+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-21T18:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=1f5b9393f7317f7e505fd4f60991797fa273e3d2'/>
<id>1f5b9393f7317f7e505fd4f60991797fa273e3d2</id>
<content type='text'>
i.e. return unshifted moments in a implicitly ordered float4 array.
Cell positions are reconstructed by a vertex shaded analogously to
how it is done in compustream.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
i.e. return unshifted moments in a implicitly ordered float4 array.
Cell positions are reconstructed by a vertex shaded analogously to
how it is done in compustream.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prototype OpenGL interoperation</title>
<updated>2019-06-20T13:43:58+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-20T13:43:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=dfcb729ff162aba45e3d83acf864fe1ff92e5a06'/>
<id>dfcb729ff162aba45e3d83acf864fe1ff92e5a06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move back assignment</title>
<updated>2019-06-20T13:42:58+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-20T13:42:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=ce971fa70059079ca2328f5fbf49a751c4833399'/>
<id>ce971fa70059079ca2328f5fbf49a751c4833399</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand square expressions</title>
<updated>2019-06-18T16:04:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-18T12:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=804e15d65e32479a476ef212238c25ada4865e3f'/>
<id>804e15d65e32479a476ef212238c25ada4865e3f</id>
<content type='text'>
Yields another ~5-10 MLUPS in the simple D2Q9 example.
Now averaging at ~840 MLUPS for D2Q9 and ~ 400 MLUPS for D3Q19 on a K2200.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Yields another ~5-10 MLUPS in the simple D2Q9 example.
Now averaging at ~840 MLUPS for D2Q9 and ~ 400 MLUPS for D3Q19 on a K2200.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract population offset</title>
<updated>2019-06-17T18:11:43+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-17T18:11:43+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b178e9b0e70e2b85ad7ba82d6afff1464cc27c51'/>
<id>b178e9b0e70e2b85ad7ba82d6afff1464cc27c51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add function for exporting moments as VTK files</title>
<updated>2019-06-17T18:10:30+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-17T18:10:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=65592560b329cf467088125e495c641b52e14f25'/>
<id>65592560b329cf467088125e495c641b52e14f25</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add PyEVTK to environment</title>
<updated>2019-06-16T20:31:23+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-16T20:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=1317bf171b0d06fb70425b20d29cd401d808dc10'/>
<id>1317bf171b0d06fb70425b20d29cd401d808dc10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace some explicit dimension branching</title>
<updated>2019-06-16T12:28:53+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-16T12:28:53+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b4afecd0f9565bac8cf2e82651b9e2a0b4ba9a87'/>
<id>b4afecd0f9565bac8cf2e82651b9e2a0b4ba9a87</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Select thread layout depending on the descriptor's characteristics</title>
<updated>2019-06-16T11:59:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-16T11:59:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=9e6c66fd16a488edbe4cb27c0e273bcb99a9436a'/>
<id>9e6c66fd16a488edbe4cb27c0e273bcb99a9436a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Declutter gid and offset calculation</title>
<updated>2019-06-16T11:51:35+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-16T11:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=b64054acaa9c9710c5b4140cfdb8e32e392a5df9'/>
<id>b64054acaa9c9710c5b4140cfdb8e32e392a5df9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add D3Q27 descriptor</title>
<updated>2019-06-16T11:08:02+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-16T11:08:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=54a45dbec3e046b3e3c333aa1fde68244d0d2a51'/>
<id>54a45dbec3e046b3e3c333aa1fde68244d0d2a51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Split descriptors and symbolic formulation</title>
<updated>2019-06-15T19:39:42+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-15T19:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=63163ebbbced363fde788c560b479569470705bd'/>
<id>63163ebbbced363fde788c560b479569470705bd</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 a D3Q19 kernel</title>
<updated>2019-06-15T18:54:56+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-15T18:45:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=d71faec93ec0a55c46810e0d178b2803ee89130c'/>
<id>d71faec93ec0a55c46810e0d178b2803ee89130c</id>
<content type='text'>
Note how this basically required no changes besides generalizing cell indexing
and adding the symbolic formulation of a D3Q19 BGK collision step.

Increasing the neighborhood communication from 9 to 19 cells leads to a
significant performance "regression": The 3D kernel yields ~ 360 MLUPS
compared to the 2D version's ~ 820 MLUPS.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note how this basically required no changes besides generalizing cell indexing
and adding the symbolic formulation of a D3Q19 BGK collision step.

Increasing the neighborhood communication from 9 to 19 cells leads to a
significant performance "regression": The 3D kernel yields ~ 360 MLUPS
compared to the 2D version's ~ 820 MLUPS.
</pre>
</div>
</content>
</entry>
<entry>
<title>Start to record some benchmarks</title>
<updated>2019-06-15T14:14:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2019-06-15T13:51:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/symlbm_playground/commit/?id=c43d3f38b6922d36d15e8ba2b6ce17ddb0c75b0a'/>
<id>c43d3f38b6922d36d15e8ba2b6ce17ddb0c75b0a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
