Abstract
This paper presents and discusses a blocked parallel implementation of bi- and three-dimensional versions of the Lattice Boltzmann Method. This method is used to represent and simulate fluid flows following a mesoscopic approach. Most traditional parallel implementations use simple data distribution strategies to parallelize the operations on the regular fluid data set. However, it is well known that block partitioning is usually better. Such a parallel implementation is discussed and its communication cost is established. Fluid flows simulations crossing a cavity have also been used as a real-world case study to evaluate our implementation. The presented results with our blocked implementation achieve a performance up to 31% better than non-blocked versions, for some data distributions. Thus, this work shows that blocked, parallel implementations can be efficiently used to reduce the parallel execution time of the method.
Similar content being viewed by others
References
Anderson J.D.: Computational Fluid Dynamics. McGraw-Hill, New York (1995)
Artoli A., Hoekstra A., Sloot P.: Optimizing Lattice Boltzmann simulations for unsteady flows. Comput. Fluids 35(2), 227–240 (2005)
Batchelor G.K.: An Introduction to Fluid Dynamics. Cambridge University Press, Cambridge, MA (1987)
Buick, JM.: Lattice Boltzmann methods in interfacial wave modelling. Ph.D. Dissertation, University of Edinburgh, Fluid Dynamics Group, Feb. 1997
Carter, J., Oliker, L.: Performance evaluation of Lattice-Boltzmann magnetohydrodynamics simulations on modern parallel vector systems. Lawrence Berkeley National Laboratory, Paper LBNL-59340, Jan. 2006
Chen S., Doolen G.D.: Lattice Boltzmann method for fluid flows. Annu. Rev. Fluid Mech. 30, 329–364 (1998)
Chung T.: Computational Fluid Dynamics. Cambridge University Press, Cambridge (2003)
Desplat J.-C., Pagonabarraga I., Bladon P.: Ludwig: a parallel Lattice-Boltzmann code for complex fluids. Comput. Phys. Commun. 134(3), 273–290 (2001)
Dongarra, J., Foster, I., Fox, G., Gropp, W., Kennedy, K., Torczon, L., White, A., (eds.): The Sourcebook of Parallel Computing. The Morgan Kaufmann Series in Computer Architecture and Design. Elsevier, Nov. 2002
Dupuis, A.: From a Lattice Boltzmann model to a parallel and reusable implementation of a virtual river. Ph.D. Dissertation, University of Geneva, CUI, Computer Science Departement, University of Geneva (2002)
Elmroth E., Gustavson F., Jonsson I., Kȧgström B.: Recursive blocked algorithms and hybrid data structures for dense matrix library software. SIAM Rev. 46(1), 3–45 (2004)
Ferziger J.H., Peric M.: Computational Methods for Fluid Dynamics. Springer-Verlag, London (2002)
Flekkøy E.G.: Lattice Bhatnagar-Gross-Krook models for miscible fluids. Phys. Rev. E 47(6), 4247–4257 (1993)
Foster I.: Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison Wesley, Reading, MA (1995)
Gropp W., Lusk E., Skjellum A.: Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, Cambridge, Massachusetts, USA (1994)
He X., Luo L.-S.: Lattice Boltzmann model for the incompressible Navier-Stokes equation. J. Stat. Phys. 88, 927–944 (1997)
He X., Luo L.-S.: Theory of the Lattice Boltzmann equation: from Boltzmann equation to Lattice Boltzmann equation. Phys. Rev. E 56, 6811–6817 (1997)
Jonsson I., Kȧgström B.: Recursive blocked algorithms for solving triangular systems—Part I: one-sided and coupled Sylvester-type matrix equations. ACM Trans. Math. Softw. 28(4), 392–415 (2002)
Kandhai D., Koponen A., Hoekstra A., amd K.M., Timonen J., Sloot P.: Lattice-Boltzmann hydrodynamics on parallel systems. Comput. Phys. Commun. 111, 14–26 (1998)
Körner, C., Pohl, T., Rüde, U., Thürey, N., and Zeiser, T.: Parallel Lattice Boltzmann methods for CFD applications. In: Bruaset, A., Tveito, A. (eds.) Numerical Solution of Partial Differential Equations on Parallel Computers, vol. 51 of Lecture Notes for Computational Science and Engineering, Chap. 5, pp. 439–465. Springer-Verlag, London (2005). ISBN 3-540-29076-1
Lam, M.D., Rothberg, E.E., Wolf, M.E.: The cache performance and optimizations of blocked algorithms. In ASPLOS-IV: Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 63–74. ACM Press, New York, NY, USA (1991)
McNamara G., Zanetti G.: Use of the Boltzmann equation to simulate Lattice-Gas Automata. Phys. Rev. Lett. 61, 2332–2335 (1988)
Pan C., Prins J.F., Miller C.T.: A high-performance Lattice Boltzmann implementation to model flow in porous media. Comput. Phys. Commun. 158(2), 89–105 (2004)
Pohl, T., Thürey, N., Deserno, F., Rüde, U., Lammers, P., Wellein, G., Zeiser, T.: Performance Evaluation of Parallel Large-Scale Lattice Boltzmann Applications on Three Supercomputing Architectures. Supercomputing (2004)
Snir M., Otto S., Huss-Lederman S., Walker D., Dongarra J.: MPI: the Complete Reference, vol. 1 and 2. The MIT Press, Cambridge, MA (1998)
Succi S.: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford University Press, New York, USA (2001)
Wilkinson B., Allen M.: Parallel Programming: Using Networked Workstations and Parallel Computers. Prentice Hall, USA (1998)
Wolf-Gladrow D.A.: Lattice-Gas Cellular Automata and Lattice Boltzmann Models: an Introduction. Springer, Berlin (2000)
Author information
Authors and Affiliations
Corresponding author
Additional information
This article was supported by CNPq.
Rights and permissions
About this article
Cite this article
Schepke, C., Maillard, N. & Navaux, P.O.A. Parallel Lattice Boltzmann Method with Blocked Partitioning. Int J Parallel Prog 37, 593–611 (2009). https://doi.org/10.1007/s10766-009-0113-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-009-0113-x