The Lattice Boltzmann Method (LBM) is a computational technique of Computational Fluid Dynamics (CFD) that has gained popularity due to its high parallelism and ability to handle complex geometries with minimal effort. Although LBM frameworks are increasingly important in various industries and research fields, their complexity makes them difficult to modify and can lead to suboptimal performance. This paper presents miniLB, the first, to the best of our knowledge, SYCL-based LBM mini-app.miniLB addresses the need for a performance-portable LBM proxy app capable of abstracting complex fluid dynamics simulations across heterogeneous computing systems. We analyze SYCL semantics for performance portability and evaluate miniLB on multiple GPU architectures using various SYCL implementations. Our results, compared against a manually-tuned FORTRAN version, demonstrate effectiveness of miniLB in assessing LBM performance across diverse hardware, offering valuable insights for optimizing large-scale LBM frameworks in modern computing environments.
翻译:格子玻尔兹曼方法(LBM)是计算流体动力学(CFD)中的一种计算技术,因其高度并行化以及能够以最小代价处理复杂几何结构的能力而广受欢迎。尽管LBM框架在各行业和研究领域中日益重要,但其复杂性使得修改困难,并可能导致性能欠佳。本文提出了miniLB,据我们所知,这是首个基于SYCL的LBM迷你应用程序。miniLB旨在满足对性能可移植的LBM代理应用程序的需求,该程序能够跨异构计算系统抽象复杂的流体动力学模拟。我们分析了SYCL语义以实现性能可移植性,并使用多种SYCL实现在多个GPU架构上评估了miniLB。与手动调优的FORTRAN版本相比,我们的结果证明了miniLB在评估不同硬件上LBM性能方面的有效性,为在现代计算环境中优化大规模LBM框架提供了宝贵的见解。