An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations
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 |