论文部分内容阅读
随着计算机技术发展和相关理论的成熟,全波形反演愈来愈多地成为了地球物理领域学者们的研究对象。近十年来,随着图形处理器硬件的飞速发展和GPGPU(General Purpose GPU)计算概念和相应编程模型的成熟,GPU在通用计算方面得到了极大的应用。在全波形反演是往往涉及很多矩阵、循环等运算,这适合做并行化处理,这就需要引入GPU/CPU的协同。全波形反演包含较多的方面,流程框架上来看是一个数学优化问题,包含了较多的方面和细节问题,但要引入并行运算就必须把原框架下的串行和并行部分梳理开来,对可以并行化的部分做处理和优化,主机负责整体的程序框架和串行部分,从而实现GPU/CPU协同运算的目的。本文将对下列问题进行学习或研究:(1)研究GPGPU编程概念,主要选取CUDA编程模型,对一般程序并行化改写方法和并行程序的存储空间使用方式、内存的读写方式、程序的瓶颈及优化等问题。对图形处理器的计算单元分布特点,内存组织形式进行着重研究。(2)主要研究声波近似下的波动方程。根据Torantola关于全波形反演的理论阐述,对其的共轭梯度的算法进行研究。研究利用波场残差的回传来逆推模型参数的对偶扰动量。针对反演中出现的收敛、杂波干扰、各个变量匹配等问题进行研究改进。并且在不同的模型下对反演程序进行测试,并且对反演效果和问题进行分析。(3)针对波场正演、波场逆时递推进行着重研究,对波动方程进行离散化处理和对地质剖面进行网格化。在这基础上利用并行程序重构的一般方法和结合两个函数的特点,对它们进行并行化处理,将处理过后的核函数并入原来的反演程序框架之中,对得到的异构程序进行调整确保程序和结果正确无误。(4)在Widows7平台下,利用多层模型等对反演程序进行测试。利用Nvidia的Quadro Nv3000M显卡对并行程序进行测试,给出并行程序的加速效果和程序关于内存访问、SM占用率方面的信息,找出并行程序的瓶颈,并作出简单优化。