aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-27Add READMEAdrian Kummerlaender
2019-10-27Accept cell id as parameter in OpenCL functionsAdrian Kummerlaender
It is more flexible to place OpenCL thread ID dependent dispatching in a separate function.
2019-10-27Add bounce back boundary conditionAdrian Kummerlaender
2019-10-27Tidy up shell environmentAdrian Kummerlaender
2019-10-27Use Mako defines to generate momenta boundariesAdrian Kummerlaender
2019-10-27Extract target-dependent floating point type nameAdrian Kummerlaender
2019-10-27Move layout implementations into separate folderAdrian Kummerlaender
2019-10-27Disable bytecode cachingAdrian Kummerlaender
2019-10-27Separate functions into separate template filesAdrian Kummerlaender
Selection of the desired templates is possible via a new `functions` parameter.
2019-10-26Add extra toggle for OpenMP in C++ test functionAdrian Kummerlaender
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.
2019-10-26Change C++ test function to LDC with optional VTK outputAdrian Kummerlaender
2019-10-26Generate primitive velocity momenta BC for C++ targetAdrian Kummerlaender
2019-10-26Support passing additional string arguments to the generatorAdrian Kummerlaender
2019-10-26Implement AOS layout for the OpenCL targetAdrian Kummerlaender
2019-10-26Add optional flag to disable CSEAdrian Kummerlaender
2019-10-26Add BGK relaxation time argumentAdrian Kummerlaender
Still thinking how various collision models (BGK, MRT and so on) may be nicely abstracted in this setting.
2019-10-26Fix cpp test functionAdrian Kummerlaender
2019-10-26Add python shebangAdrian Kummerlaender
2019-10-26Add geometry argumentAdrian Kummerlaender
2019-10-26Add lattice argumentAdrian Kummerlaender
2019-10-26Generalize floating point precision argumentAdrian Kummerlaender
2019-10-26Add ctags to environmentAdrian Kummerlaender
2019-10-24Extract offset helper into target and layout specific classesAdrian Kummerlaender
2019-10-24Handle missing memory layout argumentAdrian Kummerlaender
2019-10-24Add test template for C++, enable switching between AOS and SOAAdrian Kummerlaender
2019-10-23Some cleanup, add `collect_moments` to C++ templateAdrian Kummerlaender
2019-10-22Return error for unavailable templatesAdrian Kummerlaender
2019-10-22Add basic Generator classAdrian Kummerlaender
2019-10-21Add basic argument parsingAdrian Kummerlaender
2019-10-21Pull in C++ template from symlbm_playground's standalone branchAdrian Kummerlaender
2019-10-21Pull in basics from symlbm_playgroundAdrian 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.