文件名称:面向大规模科学计算的CPU-GPU异构并行技术研究
文件大小:5.52MB
文件格式:PDF
更新时间:2016-06-28 08:25:00
异构系统 GPU通用计算 硕士论文
大规模科学计算对科学研究具有及其重要的意义,是计算机学科面临的重大 任务。近年来,随着GPU硬件及其编程模型的快速发展,使用GPU来加速大规 模科学计算应用己成为必然趋势。GPU擅长进行计算密集型操作,而且具有极高 的性价比,非常适合高性能科学计算。然而,如何有效地把科学计算应用移植到 GPU上运行仍是一个很大的挑战。在由CPU和GPU构建的异构系统中,CPU负 责进行复杂的逻辑运算和事务管理等不适合数据并行的计算,GPU负责进行计算 密集度高、逻辑分支简单的大规模数据计算。本文从两个层面研究了面向大规模 科学计算的CPU.GPU异构并行技术。首先,根据CPU—GPU异构平台的特性,本 文提出了CPU.GPU任务划分和CPU.GPU间通信优化两种优化策略。在讨论任务 划分时,本文给出了比例划分法、曲线拟合法和搜索法三种任务划分模型,各自 适用用于不同的情况;在研究CPU—GPU间数据通信时,本文提出了中间结果复用 和长流分段两种方法,从不同角度优化CPU.GPU的通信过程。其次,针对AMD GPU硬件及其编程模型*+的特性,本文提出了四种面向GPU的并行优化策 略,包括平衡线程并行性和局部性、分支消除、开发指令级并行和提高访存带宽 利用率。本文选取了矩阵乘、LU分解和Mgrid三个重要的科学计算程序,把它们 移植到AMDGPU上运行,并使用本文提出的优化策略对各个程序进行了优化。 经测试后发现,这三个程序的性能都得到了很大提升,说明本文提出的异构并行 优化技术是非常有效的。本文的工作对在CPU.GPU异构平台上开发和优化科学计 算应用具有一定的指导意义。