论文部分内容阅读
随着大数据时代的到来,各个领域的科研人员在研究中遇到的问题规模已经变得非常巨大,传统算法在面对如此庞大的问题规模时已显得力不从心,需要花费很长的时间来处理大规模的数据。与此同时,并行计算技术伴随着计算机硬件及软件的进步快速发展,并且已经应用到一些科研领域中,提高了传统算法的计算效率。在地震勘探领域中,基于Kirchhoff积分的叠前时间偏移算法是反映地下构造的常用算法,在此基础上使用多个分量地震数据进行偏移成像并且考虑实际地下构造的各向异性,可以多角度展示地下构造的特征。但是随着现代勘探的高精度、高效率需求,多分量地震数据的各向异性叠前时间偏移算法在实际应用中耗费时间很长。为解决以上问题,对多分量地震数据各向异性叠前时间偏移算法分别实现基于MPI的CPU同构并行、基于CUDA的CPU与单GPU异构并行以及基于OpenMP和CUDA的CPU与多GPU异构并行算法。CPU同构并行算法使用粗粒度对等模式并行,均衡分配计算负载,但加速比限于使用的进程数。GPU异构并行算法根据CPU与GPU的结构特点优化地震数据及速度数据的读取和存储方式,使用CUDA技术实现单个GPU的异构并行,然后在此基础上利用OpenMP技术实现CPU与多个GPU的异构并行,将整个算法分割为多个计算周期以降低内存消耗,每个计算周期计算开启的GPU个数条主测线,主测线内部采用一个GPU线程对应一道输入地震数据的偏移计算方法,以充分利用GPU计算能力。应用实际工区的约29G数据量大小多分量地震数据分别比较不同GPU个数协同CPU并行的加速比,其中,使用6个GPU协同CPU对实际工区纵波及转换波数据偏移并行加速时,加速比分别达到444和449。