Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-04 | Extract streaming pattern into Mako definitions | Adrian Kummerlaender | |
This should allow for plugging in e.g. a AA pattern implementation without without touching any file but `AA.$target.mako`. OpenCL and C++ target templates now look basically the same and could potentially be merged. However this would decrease flexibility should more differences appear in the future. Maintaining separate template files is an acceptable overhead to preserve flexibility. | |||
2019-11-02 | Import `sympy.ccode` inside templates instead of as argument | Adrian Kummerlaender | |
2019-10-31 | Call symbolic generator inside code templates | Adrian Kummerlaender | |
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. | |||
2019-10-29 | Add support for generating custom templates in boltzgen's context | Adrian Kummerlaender | |
2019-10-29 | Rename target module to memory | Adrian Kummerlaender | |
2019-10-29 | Move further generator arguments into its constructor | Adrian Kummerlaender | |
2019-10-29 | Extract cell indexing function | Adrian Kummerlaender | |
2019-10-28 | Add basic setup.py | Adrian Kummerlaender | |
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. | |||
2019-10-27 | Extract target-dependent floating point type name | Adrian Kummerlaender | |
2019-10-27 | Move layout implementations into separate folder | Adrian Kummerlaender | |
2019-10-27 | Separate functions into separate template files | Adrian Kummerlaender | |
Selection of the desired templates is possible via a new `functions` parameter. | |||
2019-10-26 | Support passing additional string arguments to the generator | Adrian Kummerlaender | |
2019-10-26 | Add geometry argument | Adrian Kummerlaender | |
2019-10-26 | Generalize floating point precision argument | Adrian Kummerlaender | |
2019-10-24 | Extract offset helper into target and layout specific classes | Adrian Kummerlaender | |
2019-10-24 | Add test template for C++, enable switching between AOS and SOA | Adrian Kummerlaender | |
2019-10-22 | Return error for unavailable templates | Adrian Kummerlaender | |
2019-10-22 | Add basic Generator class | Adrian Kummerlaender | |
2019-10-21 | Pull in C++ template from symlbm_playground's standalone branch | Adrian Kummerlaender | |
2019-10-21 | Pull in basics from symlbm_playground | Adrian Kummerlaender | |
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. |