Abstract
Lattice Boltzmann method (LBM) has become a powerful method in computational fluid dynamics and has drawn more and more attention in high-performance computing due to its particulate nature and local dynamics, especially on recent multi-core or many-core platforms. This paper develops a parallel software framework for 3D LBM simulation on a heterogeneous multi-zone processor, MT-3000. An improved pipelined algorithm named Pencil-H is proposed, which can not only fully exploit the advantages of each component of MT-3000 but also overlap the time of calculation and communication. Moreover, an architecture-aware multi-level parallelization algorithm is developed to fully utilize the computational performance of MT-3000. A benchmark test is performed to verify the reliability and test the performance of the LBM code. Experimental results show that the optimized code achieves a 32.02\(\times \) speedup compared with using 16 CPU cores and achieves a performance of 286.03MLUPS which reaches 72.3% of the theoretical peak performance.
This work was partially supported by the National Key Research and Development Program of China (2021YFB0300101), NSFC (Nos. 62161160312, 12071461 and 12101588), and Shenzhen Fund (No. RCYX20200714114735074).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Reyhanian, E., Dorschner, B., Karlin, I.V.: Thermokinetic lattice Boltzmann model of nonideal fluids. Phys. Rev. E 102(2), 020103 (2020)
Feiger, B., Vardhan, M., Gounley, J., et al.: Suitability of lattice Boltzmann inlet and outlet boundary conditions for simulating flow in image-derived vasculature. Commun. Numer. Methods Eng. 35(6), e3198 (2019)
Han, M., Ooka, R., Kikumoto, H.: Lattice Boltzmann method-based large-eddy simulation of indoor isothermal airflow. Int. J. Heat Mass Transf. 130, 700–709 (2019)
Xu, L., Chen, R., Cai, X.C.: Parallel finite-volume discrete Boltzmann method for inviscid compressible flows on unstructured grids. Phys. Rev. E 103(2), 023306 (2021)
Guo, W., Jin, C., Li, J.: High performance lattice Boltzmann algorithms for fluid flows. In: 2008 International Symposium on Information Science and Engineering, pp. 33–37. IEEE, Shanghai (2008)
Ho, M.Q., Obrecht, C., Tourancheau, B., et al.: Improving 3D Lattice Boltzmann method stencil with asynchronous transfers on many-core processors. In: IEEE 36th International Performance Computing and Communications Conference (IPCCC), pp. 1–9. IEEE, San Diego (2017)
Bailey, P., Myre, J., Walsh, S.D.C., et al.: Accelerating lattice Boltzmann fluid flow simulations using graphics processors. In: 2009 International Conference on Parallel Processing, pp. 550–557, Vienna (2009)
Kraus, J., Pivanti, M., Schifano, S.F., et al.: Benchmarking GPUs with a parallel Lattice-Boltzmann code. In: 2013 25th International Symposium on Computer Architecture and High Performance Computing, pp. 160–167, Porto de Galinhas (2013)
Tran, N.P., Lee, M., Choi, D.H.: Memory-efficient parallelization of 3D lattice Boltzmann flow solver on a GPU. In: 2015 IEEE 22nd International Conference on High Performance Computing (HiPC), pp. 315–324. IEEE, Bengaluru (2015)
Herschlag, G., Lee, S., Vetter, J.S., et al.: GPU data access on complex geometries for D3Q19 lattice Boltzmann method. In: 2018 IEEE International Parallel & Distributed Processing Symposium, vol 32, pp. 2400–2414. IEEE, Vancouver (2018)
Chen, D., Ken, K.: Improving effective bandwidth through compiler enhancement of global cache reuse. J. Parallel Distrib. Comput. 64(1), 108–134 (2004)
Vardhan, M., Gounley, J., Hegele, L., et al.: Moment representation in the lattice Boltzmann method on massively parallel hardware. In: International Conference for High Performance Computing. Networking, Storage and Analysis, pp. 1–21. IEEE, Denver (2019)
Gounley, J., Vardhan, M., Draeger, E.W., et al.: Propagation pattern for moment representation of the lattice Boltzmann method. IEEE Trans. Parallel Distrib. Syst. 33(3), 642–653 (2021)
Biferale, L., Sbragaglia, M., Scagliarini, A., et al.: Lattice Boltzmann method simulations on massively parallel multi-core architectures. In: the 19th High Performance Computing Symposia, pp. 73–80, San Diego (2011)
Fu, Y., Li, F., Song, F., et al.: Designing a parallel memory-aware lattice Boltzmann algorithm on manycore systems. In: 2018 30th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pp. 97–106, Lyon (2018)
Fan, S., Guo, X., Li, C., et al.: Apoal: an adaptive parallel optimization algorithm for LBM fluid simulations. In: 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), pp. 834–840. IEEE, Zhangjiajie (2019)
Roberts\(\acute{e}\)n, F., Mattila, K., Westerholm, J.: High-performance SIMD implementation of the lattice Boltzmann method on the Xeon Phi processor. Concurrency Comput.: Pract. Experience 31(13), e5072 (2019)
Liu, Z., Chu, X.S., Lv, X., et al.: SunwayLB: enabling extreme-scale lattice Boltzmann method based computing fluid dynamics simulations on sunway taihulight. In: 2019 IEEE International Parallel and Distributed Processing Symposium, pp. 557–566. IEEE, Rio de Janeiro (2019)
Lu, K., Wang, Y., Guo, Y., et al.: MT-3000: a heterogeneous multi-zone processor for HPC. CCF Trans. High Perform. Comput. 4(2), 1–15 (2022). https://doi.org/10.1007/s42514-022-00095-y
Guo, Z., Shu, C.: Lattice Boltzmann Method and its Applications in Engineering. World Scientific Publishing, Singapore (2013)
Kruger, T., Kusumaatmaja, H., Kuzmin, R.A., et al.: The Lattice Boltzmann Method: Principles and Practice. Springer, New York (2017)
Succi, S.: The lattice Boltzmann Equation for Complex States of Flowing Matter. Oxford University Press, Oxford (2019)
Pohl, T., Kowarschik, M., Wilke, J., et al.: Optimization and profiling of the cache performance of parallel lattice Boltzmann codes. Parallel Process. Lett. 13(4), 549–560 (2003)
Wang, H., Chandramowlishwaran, A.: Pencil: a pipelined algorithm for distributed stencils, In: SC 2020: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–16. ACM, Atlanta (2020)
Yoshiea, R., Mochidab, A., Tominagac, Y., et al.: Cooperative project for CFD prediction of pedestrian wind environment in the architectural institute of Japan. J. Wind Eng. Ind. Aerodyn. 95(9–11), 1551–1578 (2007)
Wellein, G., Zeiser, T., Hager, G., Donath, S.: On the single processor performance of simple lattice Boltzmann kernels. Comput. Fluids 35(8–9), 910–919 (2006)
Godenschwager, C., Schornbaum, F., Bauer, M., et al.: A framework for hybrid parallel flow simulations with a trillion cells in complex geometries. In: SC 2013: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, pp. 1–12. ACM, Denver (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Zhang, Q. et al. (2023). Improving the Performance of Lattice Boltzmann Method with Pipelined Algorithm on A Heterogeneous Multi-zone Processor. In: Takizawa, H., Shen, H., Hanawa, T., Hyuk Park, J., Tian, H., Egawa, R. (eds) Parallel and Distributed Computing, Applications and Technologies. PDCAT 2022. Lecture Notes in Computer Science, vol 13798. Springer, Cham. https://doi.org/10.1007/978-3-031-29927-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-29927-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-29926-1
Online ISBN: 978-3-031-29927-8
eBook Packages: Computer ScienceComputer Science (R0)