论文部分内容阅读
随着气动力学中的数值计算的复杂程度日益扩大,数据规模不断增加,采用传统多核处理器和高性能CPU提升处理效率的方式已经不能满足科学计算的需求,迫切需要利用并行计算技术实现数值计算的高效处理,从而应用程序的效率。目前GPU并行计算技术的发展已经成熟,拥有强大的浮点数计算能力和良好的可编程性,采用CPU-GPU异构体系结构已经成为高性能计算机系统的发展趋势之一。本文面向CPU-GPU异构计算环境,利用NVIDIA提供的CUDA平台进行开发,围绕异构计算中数据流的优化关键技术展开研究,分析基于GPU数据流处理模型框架,阐述应用程序的执行过程、数据流的来源以及数据流具体的处理流程。利用Kepler架构中的Hyper特性优化数据流的处理,使用设备上纹理内存降低访问延迟,同时分析线程块中线程数量的配置对程序效率的影响,从而进一步提升应用的处理效率。对数据流处理过程中出现的数据依赖性进行了描述,并提供了相应的解决方法。实验表明,本文中使用CPU-GPU架构计算的应用程序在整体性能上相比CPU上计算有10倍左右的加速。对于大规模的数据处理,本文进一步研究MPI-GPU并行编程构架,主机端CPU上采用主从模式,划分任务后,均等分配到其他计算节点上,同时计算节点之间使用MPI进行数据的通信,利用GPU进一步处理。在结构层次上实现了 CPU上的粗粒度并行和GPU上的细密度并行。对于GPU的上下文计算环境,研究多个CUDA访问同一个GPU时,上下文的初始化和切换情况,并分析切换时产生的开销。将新型的MPS技术应用在MPI-GPU架构上,使得多CUDA进程共享同一个上下文,消除切换开销,进一步提高性能。本文将气动力仿真程序应用在CPU-GPU和MPI-GPU异构体系结构上,利用GPU进行大规模的数据并行计算,优化处理过程中数据流,并提升了程序的计算效率,最后获得了一定的加速效果,达到了预期目标,对于GPU在其他领域的应用的研究具有一定的推广意义。