论文部分内容阅读
随着科学计算的精细化,计算量日益增大,计算相关领域越来越重视并行计算的研究以获得更高的计算速度。随着多核处理器系统和GPU通用计算的广泛应用,当前并行计算领域存在着多种不同形式的并行计算体系结构,这些不同形式的体系结构相互异构,各有优势;以一种合理的方式进行异构混合并行架构,能有效利用各种并行系统的计算资源,充分挥发混合并行系统的计算能力。 本文研究一种基于多核处理器和多GPU的异构混合并行模型,从模型架构、模型评价和编程实现等方面分析其架构特点,并基于该模型并行化有限元法求解静弹性模量算法,主要工作包括: (1)分析和总结两种主要的并行模型:基于共享存储的OpenMP编程模型和面向GPU通用计算的CUDA编程框架,从硬件架构、编程模型等方面阐述两者架构特点和编程方法。 (2)进行多核处理器系统和多GPU系统混合架构模型研究,从模型的硬件层、执行模型、问题映射和编程方式等各方面分层次地阐述该模型的架构特点和优势,继而分析模型的通信、同步和负载平衡方法。并以矩阵乘法为例,实现混合编程,验证异构混合并行模型的可行性和高效性。 (3)对有限元法求解静弹性模量算法进行分析,从有限元法基础开始,逐步展开原串行算法的各部分的并行性研究,进行并行化可行性分析,并提出并行化方案。 (4)采用C语言,混合使用OpenMP和CUDA对有限元法求解静弹性模量算法进行混合并行模型的并行化编程实现,并结合算法本身的特点和异构混合并行模型进行优化处理;最后将并行化的算法应用到具体的模拟实验中并对实验结果进行分析和总结。 实验结果表明,基于异构混合并行模型的并行有限元法求解静弹性模量算法在保证准确性的同时,较传统串行算法有明显的加速。本文的研究对异构混合并行计算的研究具有一定的借鉴意义,对地球物理勘探方法的并行化研究也有一定的参考价值。