arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1503.00707physics.comp-ph
收藏

异构计算体系结构的自适应动力学流体求解器

Adaptive Kinetic-Fluid Solvers for Heterogeneous Computing Architectures

Sergey Zabelok, Robert Arslanbekov, Vladimir Kolobov

摘要:

我们展示了将自适应多尺度动力学流体代码移植到CPU-GPU系统的可行性和好处。挑战是由于自适应笛卡尔网格的不规则数据访问,动力学和流体单元之间的计算成本的巨大差异,并希望均匀加载所有CPU和GPU。我们的统一流动求解器(UFS)结合了自适应网格细化(AMR)和基于连续分解标准的自动逐单元选择动力学或流体求解器。使用GPU可以混合模拟混合稀薄连续流,其中包含100万个Boltzmann单元和24 x24 x24速度网格。我们描述了三个模块的CUDA内核在UFS中的实现:直接Boltzmann求解器使用离散速度方法,直接模拟蒙特卡罗(DSMC)求解器,和介观求解器的基础上格子玻尔兹曼方法,所有使用八叉树笛卡尔网格。在单GPU上实现了两位数的加速,在多GPU上实现了良好的扩展性。

英文摘要:

We show feasibility and benefits of porting an adaptive multi-scale kinetic-fluid code to CPU-GPU systems. Challenges are due to the irregular data access for adaptive Cartesian mesh, vast difference of computational cost between kinetic and fluid cells, and desire to evenly load all CPUs and GPUs. Our Unified Flow Solver (UFS) combines Adaptive Mesh Refinement (AMR) with automatic cell-by-cell selection of kinetic or fluid solvers based on continuum breakdown criteria. Using GPUs enables hybrid simulations of mixed rarefied-continuum flows with a million of Boltzmann cells with 24x24x24 velocity mesh. We describe the implementation of CUDA kernels for three modules in UFS: the direct Boltzmann solver using discrete velocity method, the Direct Simulation Monte Carlo (DSMC) solver, and a mesoscopic solver based on Lattice Boltzmann Method, all using octree Cartesian mesh. Double digit speedups on single GPU and good scaling for multi-GPUs have been demonstrated.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑