论文部分内容阅读
电大尺寸问题的数值分析一直是计算电磁学界的一个热点课题。当目标的电尺寸比较大时,普通计算机的计算能力将难以胜任。为了解决这个问题,并行计算被引入到计算电磁算法中。在早期,并行算法的实现是在OpenMP支持下对多核CPU并行编程或在MPI支持下对计算机集群并行编程。近年来,一种新型的大规模并行处理器——图形处理单元(GPGPU或GPU)被引入并行计算领域,使并行计算效率产生了一次飞跃,也为计算电磁学开辟了一个新的研究方向。本文研究电磁场积分方程算法在GPU/CPU异构平台上的实现,主要创新点如下:1.提出了多层快速多极子算法(MLFMA)在GPU/CPU异构平台上的一个优化实现。这个实现由四部分组成:1)对于近场矩阵填充设计了一个优化的GPU/CPU协同计算方案;2)提出了一个高效率的稀疏矩阵-向量积算法,平均效率是商用GPU算法库NVIDIA CUSPARSE的2.5倍左右;3)对MLFM中的远场底层汇聚/扩散,提出warp级并行方案替换线程级并行方案;4)对MLFM中的远场高层汇聚/扩散,提出纹理存储方案替换通常的全局存储方案,显著地提高了局部二维插值计算的效率。与最新文献相比,本文提出的实现在效率方面大约有25%的提升。2.提出了自适应交叉近似算法(ACA)在多GPU平台上的一个优化实现。这个实现由三部分组成:1)对于近场矩阵填充部分,采用了混合精度的计算方法,使得近场矩阵生成的效率提升了约1倍,并且还使计算误差控制在可接受的范围内。2)对于矩阵压缩过程部分,细层和粗层的压缩分别采用了threadblock级的并行策略以及动态并行的技术;3)对于远场矩阵-向量积部分,在单精度下和双精度下分别提出了寄存器重用和双缓冲的技术,使得远场矩阵-向量积的效率大大增加,与商用的GPU算法库NVIDIA CUBLAS相比,计算矩阵-向量积的效率提升了大约1.2至2倍。与4核CPU并行算法相比,矩阵压缩过程的最大加速比约为82,计算远场矩阵-向量积的最大加速比约为30。3.提出了高阶矩量法(HMoM)在GPU/CPU异构平台上的带有核外LU求解器的一个优化实现。这个实现由三部分组成:1)引入全局辅助表和局部辅助表来减少繁琐且重复的计算,提出了一个面向GPU编程的方案及其优化步骤;2)提出了四边形面片的一个重叠型分组法,使分块矩阵的所有子块能够借助显存和内存高效地生成而不浪费任何计算;3)提出一个基于GPU的核外LU分解算法并扩展到GPU/CPU异构平台。与文献中的已有实现相比,这里提出的实现的加速比大约为7到12。