Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-09-06 | Add a fun little fake bonfire _simulation_ | Adrian Kummerlaender | |
…using appropriately colored aging particles | |||
2019-09-05 | Try out deferred particle streaming | Adrian Kummerlaender | |
i.e. apply direct Euler multiple times for each moment collection | |||
2019-09-04 | Reset stuck particles to starting position | Adrian Kummerlaender | |
2019-09-01 | Prototype "ink" particles visualization | Adrian Kummerlaender | |
2019-08-30 | Adapt examples to new material interface | Adrian Kummerlaender | |
2019-08-30 | Start to use vectorizable indexing for material initialization | Adrian Kummerlaender | |
`utility.ndindex` adds support for specifying the traversal order to `numpy.ndindex`. | |||
2019-07-25 | Dampen channel inflow | Adrian Kummerlaender | |
2019-07-01 | Expand LDC benchmark scripts | Adrian Kummerlaender | |
2019-06-30 | Move OpenCL buffers into Memory class | Adrian Kummerlaender | |
2019-06-29 | Implement layout and memory padding | Adrian Kummerlaender | |
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. | |||
2019-06-22 | Add interactive 2D LDC notebook, fix material initialization | Adrian Kummerlaender | |
2019-06-22 | Add platform, precision and thread layout parameters | Adrian Kummerlaender | |
2019-06-20 | Prototype OpenGL interoperation | Adrian Kummerlaender | |
2019-06-16 | Replace some explicit dimension branching | Adrian Kummerlaender | |
2019-06-16 | Select thread layout depending on the descriptor's characteristics | Adrian Kummerlaender | |
2019-06-15 | Split descriptors and symbolic formulation | Adrian Kummerlaender | |