ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

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

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).

[img] PDF
Acm_Tra_On_Arc_and_Cod_Opt_12-2_14_2015.pdf - Published Version
Restricted to Registered users only

Download (1MB) | Request a copy
Official URL: http://dx.doi.org/10.1145/2739047


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.

Item Type: Journal Article
Additional Information: Copy right for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA
Keywords: Design; Performance; Lattice-Boltzmann method; time tiling; polyhedral framework; performance modeling
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Depositing User: Id for Latest eprints
Date Deposited: 11 Aug 2015 07:02
Last Modified: 11 Aug 2015 07:02
URI: http://eprints.iisc.ac.in/id/eprint/52066

Actions (login required)

View Item View Item