咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于MPI和OpenMP的2.5维CSAMT正反演混和并行算... 收藏
基于MPI和OpenMP的2.5维CSAMT正反演混和并行算法的研究

基于MPI和OpenMP的2.5维CSAMT正反演混和并行算法的研究

作     者:李昂 

作者单位:吉林大学 

学位级别:硕士

导师姓名:董韫美

授予年度:2014年

学科分类:08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:MPI OpenMP 混合并行算法 CSAMT 动态任务规划 2.5维正反演 

摘      要:随着大地电磁勘探法的不断发展,传统计算方法对于计算机性能的要求越来越高。纯二维的正反演计算不能很好地模拟实际地形,纯三维的正反演计算计算量过大很难投入实际生产,因此2.5维正反演受到了越来越广泛的关注。另一方面,并行计算的技术也取得了很大的进步,应用在很多大计算量领域,因此,本文将并行方法应用在2.5维电磁场正反演计算上。 针对带地形的复电阻率2.5维可控源音频大地电磁法(CSAMT)正反演串行计算过慢的问题,本文提出并实现了若干基于CPU多核多线程的OpenMP和基于分布式的MPI的混合并行正反演计算方法。为了提高并行计算的效率,实现多个计算单元的负载均衡,本文实现了一种基于预判的动态任务规划方法。基本正演并行算法最高达到了7.8倍的加速比,使用动态任务规划方法后,效率提升至17.19倍;反演并行算法最高达到了2.83倍的加速比。 正演计算中,对计算进行了两层并行分解,外层的频率域循环进行MPI并行分解,主进程将任务分配给协同计算的多个进程上,各进程独立计算后将结果返回到主进程进行合并处理和余下的计算,各进程内部再对内层的波数域循环进行OpenMP并行分解,多个CPU线程共同独立计算不同的波数下的场值,通过对共享变量和私有变量的设置,来实现协同并行计算。 反演计算中,本文采用了OpenMP方法对反演计算中的反演循环的频率域进行了并行分解,采用多个线程同时计算不同频率下的反演场值,再通过其数据共享方法将得出的场值处理从而得出反演的最终结果。 为了提高并行效率,充分发挥多进程和多线程的并行计算能力,本文在进行任务分解时,采用了动态任务规划的方法,按照PC集群各个节点的最大计算能力分配任务,使得各节点进程和线程的计算时间大致相当,实现了动态负载均衡,缩短了进程和线程的空闲等待时间,提高了并行效率。 最后,通过对不同集群下的多组实验模型的测试,论证了本文提出并行算法的正确性与效率,并对本文算法的优势进行了总结。实验结果表明,本文算法不仅能够达到与串行算法同样的精度,而且获得了接近总计算单元数目的线性加速比,在算法中使用动态任务规划方法分配任务,则能获得更短的计算时间和更高的并行效率。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分