论文摘要
计算流体力学(Computational Fluid Dynamics,CFD)作为一种强有力的计算分析工具,已经广泛应用到航空、航天、气象、船舶、武器装备等领域。随着其向高精度、大规模、高时效方向发展,对计算与存储量的需求日益增加,开展高效大规模并行计算成为必然趋势。近年来,随着众核技术的不断发展,异构众核体系结构逐渐成为高端超级计算机系统的主流架构。与传统同构并行计算机系统相比,异构众核体系结构兼顾了通用性和能效比,为大规模科学和工程计算提供了很好的机遇。同时,异构众核体系结构的复杂硬件结构和编程环境也给包括CFD在内的领域应用开发带来了诸多现实的困难和挑战。本文以一个有限体积的CFD实际应用为背景,在图形处理器(Graphics Processing Unit,GPU)和英特尔集成众核(Many Integrated Core,MIC)两种主流众核处理器架构上开展了典型隐式CFD求解方法的并行算法和优化方法研究。主要工作包括:(1)详细介绍了两种主流众核处理器架构特点和编程环境,总结了各自的性能优化方法,从硬件和软件两个方面对比分析了两者的异同,并根据自身的经验,给出了两种架构编程和优化的学习曲线。(2)对ADI、JACOBI等隐式CFD求解方法基本原理、CFD计算流程、计算数据依赖关系等进行了深入分析,结合GPU众核体系结构和并行编程模型特点,提出了基于网格点并行和基于网格线并行的GPU并行算法;对实际CFD应用场景下的ADI和JACOBI方法进行了GPU并行算法设计、实现与性能优化,并采用不同规模的结构网格真实算例进行了并行性能测试与分析。结果显示:在200万规模的单区结构网格上,ADI和JACOBI求解方法的GPU(NVIDIA Tesla M2050)并行分别取得了10.3倍和14.25倍的加速比(相对于Intel Xeon X5670单核);相对而言JACOBI迭代求解方法体现出了较好的GPU并行计算性能。(3)基于LIKWID性能分析工具,对MIC众核架构下LU-SGS、ADI、JACOBI的OpenMP并行性能进行了深入分析,提出了基于微体系架构硬件指标的优化方法,有助于深入理解众核架构下Cache、SIMD等对应用性能的影响。针对JACOBI方法,MIC性能优化在理想和真实场景下取得加速性能差异,借助性能分析工具—LIKWID,通过收集和分析程序执行中的硬件指标,对不同场景下这种加速性能差异进行了比较研究与合理性解释。测试结果表明:在单区200万网格规模下,JACOBI方法相对于CPU单核,取得17.54的加速比。
论文目录
相关论文文献
标签:并行论文;