CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2010; 22:1–14 Published online 4 September 2009 in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.1466 A flexible high-performance Lattice Boltzmann GPU code for the simulations of fluid flows in complex geometries Massimo Bernaschi 1, , , Massimiliano Fatica 2 , Simone Melchionna 3,4 , Sauro Succi 1,5 and Efthimios Kaxiras 4 1 Istituto Applicazioni Calcolo, CNR, Viale Manzoni, 30-00185 Rome, Italy 2 Nvidia Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050, U.S.A. 3 SOFT, Istituto Nazionale Fisica della Materia, CNR, P.le A. Moro, 2-00185 Rome, Italy 4 Department of Physics and School of Engineering and Applied Sciences, Harvard University, Cambridge, MA 02138, U.S.A. 5 Initiative in Innovative Computing, Harvard University, Cambridge, MA 02138, U.S.A. SUMMARY We describe the porting of the Lattice Boltzmann component of MUPHY, a multi-physics/scale simulation software, to multiple graphics processing units using the Compute Unified Device Architecture. The novelty of this work is the development of ad hoc techniques for optimizing the indirect addressing that MUPHY uses for efficient simulations of irregular domains. Copyright © 2009 John Wiley & Sons, Ltd. Received 28 November 2008; Revised 4 March 2009; Accepted 11 May 2009 KEY WORDS: Lattice Boltzmann; multi-physics; GPU; MPI 1. INTRODUCTION Recently, there has been renewed interest in floating point accelerators and co-processors, which can be defined as devices that carry out arithmetic operations concurrently with or in place of the CPU. Two solutions received special attention from the high-performance computing community: (i) the Cell processor, designed and developed jointly by IBM, Sony and Toshiba and (ii) Graphics Correspondence to: Massimo Bernaschi, Istituto Applicazioni Calcolo, CNR, Viale Manzoni, 30-00185 Rome, Italy. E-mail: m.bernaschi@iac.cnr.it Contract/grant sponsor: Innovative Computing of Harvard University Copyright 2009 John Wiley & Sons, Ltd.