论文部分内容阅读
随着GPU在大规模数据并行计算中的广泛应用,GPGPU(General-Purpose GPU)程序的性能预测成为一个重要的研究课题。本文基于NVIDIA GPU和CUDA提出了两种GPU性能预测分析模型,分别为kernel性能的预测模型和混合编程性能预测模型。利用本文提出的性能预测模型,GPGPU开发者可以预测算法和程序的性能,并理解开发过程中性能因素的选择和影响。Kernel性能预测模型主要考虑了CUDA kernel在GPU上的指令执行过程。首先本文提出在CUDA指令执行模型下GPU理论上的最大指令吞吐量,然后在此基础上考虑影响GPGPU程序达到理论最大指令吞吐量的因素。在性能预测模型的基础上,本文提出了模型的应用工作流程。混合编程性能预测模型主要考虑CPU和GPU异步执行下的性能预测。在这个预测模型下,kernel的执行被看作一个整体,因此和kernel性能预测模型之间是独立的。混合编程性能预测模型是通过考虑不同部分的执行时间之间的相互关系,使用了分类讨论的方法。最后本文验证了两种性能预测模型的有效性,并提出了将性能预测模型应用于GPGPU程序优化的具体方法。