An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations


Autoria(s): Pananilath, Irshad; Acharya, Aravind; Vasista, Vinay; Bondhugula, Uday
Data(s)

2015

Resumo

The Lattice-Boltzmann method (LBM), a promising new particle-based simulation technique for complex and multiscale fluid flows, has seen tremendous adoption in recent years in computational fluid dynamics. Even with a state-of-the-art LBM solver such as Palabos, a user has to still manually write the program using library-supplied primitives. We propose an automated code generator for a class of LBM computations with the objective to achieve high performance on modern architectures. Few studies have looked at time tiling for LBM codes. We exploit a key similarity between stencils and LBM to enable polyhedral optimizations and in turn time tiling for LBM. We also characterize the performance of LBM with the Roofline performance model. Experimental results for standard LBM simulations like Lid Driven Cavity, Flow Past Cylinder, and Poiseuille Flow show that our scheme consistently outperforms Palabos-on average by up to 3x while running on 16 cores of an Intel Xeon (Sandybridge). We also obtain an improvement of 2.47x on the SPEC LBM benchmark.

Formato

application/pdf

Identificador

http://eprints.iisc.ernet.in/52066/1/Acm_Tra_On_Arc_and_Cod_Opt_12-2_14_2015.pdf

Pananilath, Irshad and Acharya, Aravind and Vasista, Vinay and Bondhugula, Uday (2015) An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations. In: ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 12 (2).

Publicador

ASSOC COMPUTING MACHINERY

Relação

http://dx.doi.org/10.1145/2739047

http://eprints.iisc.ernet.in/52066/

Palavras-Chave #Computer Science & Automation (Formerly, School of Automation)
Tipo

Journal Article

PeerReviewed