Is anybody aware of any GPU-enabled Lattice Boltzmann solvers (preferably on C++/OpenCL and open-source) that would be recommended?
Sailfish is a great OS LBM solver that meets your needs. Sailfish is developer in the Python language in order to provide a rapid development environment; however, it compiles optimized OpenCL or CUDA via the pyopencl and pycuda libraries.
I have found it to be highly flexible with remarkable computational speeds. Inherently, no computation is performed with Python. The down-side to Sailfish is the very limited user community; however, if you're down the LBM path anyways, you're likely used to that.
After gaining more experience with ASL I'm convinced that it is the best accelerated open source LBM-solver as of end of 2015. It has following important advantages:
- simple C++ API (and only C++ - no need to know OpenCL or Python even for adding new numerical methods (which will automatically become hardware accelerated)!)
- remarkable performance
- multiphysics: many other physical/chemical phenomena besides CFD (Lattice Boltzmann method is used in ASL)
- hardware accelerated, can be deployed on CPU/GPU/FPGA/DSP/APU-clusters
- mesh-free, immersed boundary technology allows to move from CAD directly to simulation (important for automated design optimization).
- dynamic compilation approach enables an additional layer of optimization at run-time (i.e. for a specific parameters set the application was provided with)
- open source: AGPL + optional commercial license for closed-source projects.