Feifei Zhang , Yunlan Wang , Rui Zhang , Jie Guo , Tianhai Zhao , Sha Liu , Congshan Zhuo , Chengwen Zhong
{"title":"Efficient dual-level parallelism solutions for OpenFOAM-based discrete unified gas kinetic scheme","authors":"Feifei Zhang , Yunlan Wang , Rui Zhang , Jie Guo , Tianhai Zhao , Sha Liu , Congshan Zhuo , Chengwen Zhong","doi":"10.1016/j.advengsoft.2024.103840","DOIUrl":null,"url":null,"abstract":"<div><div>The Discrete Unified Gas Kinetic Scheme (DUGKS) is an efficient framework for solving gas kinetic equations, crucial in areas such as aerospace, microfluidics, and vacuum technologies. However, the existing dugksFoam solver (Zhu et al., 2017), developed on OpenFOAM, suffers from low parallel efficiency and high computational costs. This paper focuses on enhancing the efficiency of the dugksFoam solver through optimisations specific for memory access, communication, and computation. Two innovative process-thread hybrid parallel algorithms are proposed, combining dual-level parallelism tailored to the characteristics of the DUGKS algorithm and modern HPC cluster architectures. Algorithm 1 utilises process-level parallelism for physical space partitioning and thread-level parallelism for velocity-space partitioning, while Algorithm 2 swaps these parallel levels. Multiple validation cases were conducted to verify the accuracy of the algorithms. Both algorithms demonstrate significant performance improvements over the existing dugksFoam solver. Algorithm 1 is suitable for small-scale parallelism, and Algorithm 2 achieves linear speedup on 1024 cores, excelling in large-scale parallel scenarios.</div></div>","PeriodicalId":50866,"journal":{"name":"Advances in Engineering Software","volume":"201 ","pages":"Article 103840"},"PeriodicalIF":4.0000,"publicationDate":"2024-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Advances in Engineering Software","FirstCategoryId":"5","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0965997824002473","RegionNum":2,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
The Discrete Unified Gas Kinetic Scheme (DUGKS) is an efficient framework for solving gas kinetic equations, crucial in areas such as aerospace, microfluidics, and vacuum technologies. However, the existing dugksFoam solver (Zhu et al., 2017), developed on OpenFOAM, suffers from low parallel efficiency and high computational costs. This paper focuses on enhancing the efficiency of the dugksFoam solver through optimisations specific for memory access, communication, and computation. Two innovative process-thread hybrid parallel algorithms are proposed, combining dual-level parallelism tailored to the characteristics of the DUGKS algorithm and modern HPC cluster architectures. Algorithm 1 utilises process-level parallelism for physical space partitioning and thread-level parallelism for velocity-space partitioning, while Algorithm 2 swaps these parallel levels. Multiple validation cases were conducted to verify the accuracy of the algorithms. Both algorithms demonstrate significant performance improvements over the existing dugksFoam solver. Algorithm 1 is suitable for small-scale parallelism, and Algorithm 2 achieves linear speedup on 1024 cores, excelling in large-scale parallel scenarios.
期刊介绍:
The objective of this journal is to communicate recent and projected advances in computer-based engineering techniques. The fields covered include mechanical, aerospace, civil and environmental engineering, with an emphasis on research and development leading to practical problem-solving.
The scope of the journal includes:
• Innovative computational strategies and numerical algorithms for large-scale engineering problems
• Analysis and simulation techniques and systems
• Model and mesh generation
• Control of the accuracy, stability and efficiency of computational process
• Exploitation of new computing environments (eg distributed hetergeneous and collaborative computing)
• Advanced visualization techniques, virtual environments and prototyping
• Applications of AI, knowledge-based systems, computational intelligence, including fuzzy logic, neural networks and evolutionary computations
• Application of object-oriented technology to engineering problems
• Intelligent human computer interfaces
• Design automation, multidisciplinary design and optimization
• CAD, CAE and integrated process and product development systems
• Quality and reliability.