Mini-project LBM on GPU
Many references, e.g.
Books:
- https://www.springer.com/gp/book/9783319446479
- You can read chapter 3
Github:
- code https://github.com/sidsriv/Simulation-and-modelling-of-natural-processes
- slides https://github.com/sidsriv/Simulation-and-modelling-of-natural-processes/blob/master/W_5_Lattice-Boltzmann-modeling-of-fluid-flow.pdf
- Code accompagnying the book The Lattice Boltzmann method: principles and practive
Video:
Additional references about border conditions in LBM:
You have three choices for the mini-project:
- use pure CUDA/C++ to adapt the C++ serial version from directory
cpp
- use OpenACC to port the C++ serial version
- use kokkos or stdpar (for the brave) to port the C++ version to GPU
- use numba and/or CuPy to adapt the python code
python/lbmFlowAroundCylinder.py
- use legate/cunumeric to adapt the python code
python/lbmFlowAroundCylinder.py
(dont be afraid, some feature are not yet implemented in legate/cunumeric, but it is possible to slightly refactor python to make it possible)