Lattice Boltzmann simulation optimization on leading multicore platforms
Open accessAbstract
We present an auto-tuning approach to optimize application performance on emerging multicore architectures. The methodology extends the idea of search-based performance optimizations, popular in linear algebra and FFT libraries, to application-specific computational kernels. Our work applies this strategy to a lattice Boltzmann application (LBMHD) that historically has made poor use of scalar microprocessors due to its complex data structures and memory access patterns. We explore one of the broadest sets of multicore architectures in the HPC literature, including the Intel Clovertown, AMD Opteron X2, Sun Niagara!, STI Cell, as well as the single core Intel Itanium.2. Rather than hand-tuning LBMHD for each system, we develop a code generator that allows us identify a highly optimized version for each platform, while amortizing the human programming effort. Results show that our auto- tuned LBMHD application achieves up to a 14times improvement compared with the original code. Additionally, we present detailed analysis of each optimization, which reveal surprising hardware bottlenecks and software challenges for future multicore systems and applications.
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Directed automated testing (concolic unit testing) has shown promise for improving software quality through automated test generation using static and dynamic analyses.
“a recently introduced technique called”
From A view of the parallel computing landscape (2009) · cites this paper as [21]
Section 2.2 describes a code generator for auto-tuning lattice Boltzmann simulations, and Section 6 discusses performance optimizations. Neither addresses concolic unit testing, software-quality improvements, or test generation using static and dynamic analyses; searches for those terms returned no relevant passage. Page numbers were not available in our copy. (LLM, conf=0.78)
Experimental — accuracy not yet measured
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Cites
Bhatnagar, P. L., Gross, E. P., & Krook, M. (1954) · Physical Review · doi:10.1103/physrev.94.511 · Cited by 8,663 · see citing works
Automated empirical optimizations of software and the ATLAS project
Clint Whaley, R., Petitet, A., & Dongarra, J. J. (2001) · Parallel Computing · doi:10.1016/s0167-8191(00)00087-9 · Cited by 1,317 · see citing works
Optimization of sparse matrix-vector multiplication on emerging multicore platforms
Williams, S., Oliker, L., Vuduc, R. W., et al. (2007) · Parallel Computing · doi:10.1016/j.parco.2008.12.006 · Cited by 796 · see citing works
Self-citationMagnetohydrodynamic Turbulence
Biskamp, D. (2003) · Cambridge University Press eBooks · doi:10.1017/cbo9780511535222 · Cited by 733 · see citing works
OSKI: A library of automatically tuned sparse matrix kernels
Vuduc, R., Demmel, J. W., & Yelick, K. A. (2005) · Journal of Physics: Conference Series · doi:10.1088/1742-6596/16/1/071 · Cited by 490 · see citing works
Self-citationLattice Boltzmann Method for 3-D Flows with Curved Boundary
Mei, R., Shyy, W., Yu, D., et al. (2000) · Journal of Computational Physics · doi:10.1006/jcph.2000.6522 · Cited by 347 · see citing works
On the single processor performance of simple lattice Boltzmann kernels
Wellein, G., Zeiser, T., Hager, G., et al. (2005) · Computers & Fluids · doi:10.1016/j.compfluid.2005.02.008 · Cited by 220 · see citing works
Cache oblivious stencil computations
Frigo, M., & Strumpen, V. (2005) · International Conference on Supercomputing · doi:10.1145/1088149.1088197 · Cited by 186 · see citing works
Lattice Kinetic Schemes for Magnetohydrodynamics
Dellar, P. J. (2002) · Journal of Computational Physics · doi:10.1006/jcph.2002.7044 · Cited by 184 · see citing works
Impact of small process geometries on microarchitectures in systems on a chip
Sylvester, D., & Keutzer, K. (2001) · Proceedings of the IEEE · doi:10.1109/5.920579 · Cited by 134 · see citing works
Chip multiprocessing and the cell broadband engine
Gschwind, M. K. (2006) · ACM International Conference on Computing Frontiers (CF) · doi:10.1145/1128022.1128023 · Cited by 131 · see citing works
Implicit and explicit optimizations for stencil computations
Kamil, S., Datta, K., Williams, S., Oliker, L., Shalf, J., & Yelick, K. (2006) · Proceedings of the 2006 workshop on Memory system performance and correctness · doi:10.1145/1178597.1178605 · Cited by 130 · see citing works
Self-citationOPTIMIZATION AND PROFILING OF THE CACHE PERFORMANCE OF PARALLEL LATTICE BOLTZMANN CODES
POHL, T., Kowarschik, M., Wilke, J., et al. (2003) · Parallel Processing Letters · doi:10.1142/s0129626403001501 · Cited by 119 · see citing works
Lattice Boltzmann magnetohydrodynamics
Martínez, D. O., Chen, S., & Matthaeus, W. H. (1994) · Physics of Plasmas · doi:10.1063/1.870640 · Cited by 86 · see citing works
Scientific Computations on Modern Parallel Vector Systems
Oliker, L., Canning, A., Carter, J. T., et al. (2005) · Proceedings - Supercomputing · doi:10.1109/sc.2004.54 · Cited by 78 · see citing works
Self-citationLeading Computational Methods on Scalar and Vector HEC Platforms
Oliker, L., Carter, J. T., Wehner, M. F., et al. (2005) · Proceedings - Supercomputing · doi:10.1109/sc.2005.41 · Cited by 46 · see citing works
Self-citationThe Lattice Boltzmann Equation for Fluid Dynamics and Beyond
Yeomans, J. M. (2002) · Physics Today · doi:10.1063/1.1537916 · Cited by 25 · see citing works
Flagged first, then by citations
Research works printed but not linked: 6
- J. Carter, M. Soe, L. Oliker, Y. Tsuda, G. Vahala, L. Va- hala, and A. Macnab. Magnetohydrodynamic turbu- lence simulations on the Earth Simulator using the lat- tice Boltzmann method. In Proc. SC2005: High perfor- mance computing, networking, and storage conference, 2005.
- M. Frigo and V. Strumpen. Cache oblivious stencil com- putations. In Proceedings of the 19th ACM International Conference on Supercomputing (ICS05), 2005.
- A. Macnab, G. Vahala, L. Vahala, and P. Pavlo. Lat- tice boltzmann model for dissipative MHD. In Proc. 29th EPS Conference on Controlled Fusion and Plasma Physics, volume 26B, Montreux, Switzerland, June 17- 21, 2002.
- B. Palmer and J. Nieplocha. Efficient algorithms for ghost cell updates on two classes of MPP architectures. In Proc. PDCS International Conference on Parallel and Distributed Computing Systems, volume 192, 2002.
- S. Succi. The Lattice Boltzmann equation for fluids and beyond. Oxford Science Publ., 2001.
- T. Zeiser, G. Wellein, G. Hager, A. Nitsure, K. Iglberger, and G. Hager. Introducing a parallel cache-oblivious blocking approach for the lattice boltzmann method. In ICMMES-2006 Proceedings, 2006.
Cited by
Sorted by citations
Williams, S., Waterman, A., & Patterson, D. A. (2009) · Communications of the ACM · doi:10.1145/1498765.1498785 · Cited by 2,484 · see citing works
Self-citationA view of the parallel computing landscape
Asanovic, K., Bodik, R., Demmel, J., Keaveny, T., Keutzer, K., Kubiatowicz, J., Morgan, N., Patterson, D., Sen, K., Wawrzynek, J., et al. (2009) · Communications of the ACM · doi:10.1145/1562764.1562783 · Cited by 627 · see citing works
Self-citationWilliams, S., Waterman, A., & Patterson, D. (2009) · doi:10.2172/1407078 · Cited by 110 · see citing works
Self-citation
- Authors
- Williams, S., Carter, J., Oliker, L., Shalf, J., & Yelick, K.
- Affiliations
- Lawrence Berkeley National Laboratory (US)
- Corresponding author
- Williams, Samuel
- Venue
- 2008 IEEE International Symposium on Parallel and Distributed Processing
- Publisher
- IEEE
- Published
- 2008-04
- Pages
- 1-14
- ISSN
- 1530-2075 (ISSN-L)
- OpenAlex
- W254119393
- Cited by
- 98
- References
- 17
- Citations by year
- 2024: 2 · 2023: 1 · 2022: 2 · 2021: 3 · 2020: 3 · 2019: 2 · 2018: 1 · 2017: 3 · 2016: 2 · 2015: 5 · 2014: 3 · 2013: 2 · 2012: 11
- FWCI
- 11.38
- Type
- conference paper
- Language
- en
- Open access
- green
- escholarship.org
- Locations
- IEEE International Parallel and Distributed Processing Symposium (IPDPS) (publishedVersion)
- eScholarship (California Digital Library) (submittedVersion)
- OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) (submittedVersion)
- University of North Texas Digital Library (University of North Texas) (submittedVersion)
- Funders
- U.S. Department of Energy (-AC02-05CH11231, 05CH11231, DE AC02 05CH11231, DE-AC02-)
- Forschungszentrum Jülich
- Office of Science (DEAC02–05CH11231, AC02-05CH11231, DE-AC02, 05CH11231)
- National Institute on Aging
- Advanced Scientific Computing Research (DE-AC02-05CH11231, AC02-05CH11231)
- Lawrence Berkeley National Laboratory (AC02‐05CH11231, DE-AC02-05CH11231, 05CH11231)
- Topics
- Physical Sciences › Computer Science › Hardware and Architecture › Parallel Computing and Optimization Techniques
- Physical Sciences › Engineering › Computational Mechanics › Lattice Boltzmann Simulation Studies
- Physical Sciences › Computer Science › Computer Graphics and Computer-Aided Design › Computer Graphics and Visualization Techniques
- Keywords
- lattice Boltzmann method, auto-tuning, multi-core processors, performance optimization, code generation, search-based optimization, memory access patterns, hardware bottlenecks, Cell processor, AMD Opteron
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review