  Lattice Boltzmann methods (LBM) are an important part of current
computational fluid dynamics (CFD). They allow easy implementations and
boundary handling. However, competitive time to solution not only depends on
the choice of a reasonable method, but also on an efficient implementation on
modern hardware. Hence, performance optimization has a long history in the
lattice Boltzmann community. A variety of options exists regarding the
implementation with direct impact on the solver performance. Experimenting and
evaluating each option often is hard as the kernel itself is typically embedded
in a larger code base. With our suite of lattice Boltzmann kernels we provide
the infrastructure for such endeavors. Already included are several kernels
ranging from simple to fully optimized implementations. Although these kernels
are not fully functional CFD solvers, they are equipped with a solid
verification method. The kernels may act as an reference for performance
comparisons and as a blue print for optimization strategies. In this paper we
give an overview of already available kernels, establish a performance model
for each kernel, and show a comparison of implementations and recent
architectures.
