论文部分内容阅读
近年来,随着GPGPU在生物计算、金融分析、天气预测等高性能计算领域发挥着越来越重要的作用,有关GPGPU的相关研究逐渐成为研究的热点。在模拟器设计方面,一个高性能的模拟器对GPGPU的研究而言至关重要,而当前GPGPU模拟器大多为串行模拟器,模拟速度极慢,极大制约了模拟器在GPGPU体系结构研究中的应用。在GPGPU体系结构设计方面,随着GPGPU计算能力的不断增加,GPGPU中越来越多的计算节点需要通过片上网络与存储节点进行通信。随着片上网络在片上多核系统设计中所占的开销不断增大,如何在保持性能不变的前提下设计低开销的片上网络对于GPGPU的发展至关重要。针对于第一个问题,本文提出了GPGPU并行模拟的方案,充分利用现有宿主平台多机多核的计算优势加速GPGPU程序的模拟速度;针对第二个问题,本文提出了GPGPU低开销片上网络设计的方案,首先通过一系列的设计避免了网络中报文的冲突,然后通过简化路由器微体系结构设计降低了片上网络的开销。本文的研究工作和成果有:(1)提出了GPGPU在多核多机平台下的并行模拟方案在多核宿主平台下,本文提出了Kernel内部的并行模拟,一方面使用多个模拟线程同时对多个Cluster进行模拟,并要求多个模拟线程在每个时钟周期进行同步以保持模拟精度,另一方面并行化执行驱动中的功能模拟和性能模拟以弥补时钟同步带来的性能损失。在多机宿主平台下,本文提出了Kernel之间并行模拟的方案,将Kernel函数进行分组后利用多机平台并行的对各组进行模拟以获得性能的提升。在GPGPU模拟器对程序进行模拟的过程中,它会依赖功能模拟提供的结果,因此功能模拟在一定程度上会制约GPGPU模拟器的模拟速度,本文针对CUDA编程模型的特点提出了一种并行化功能模拟的方法,并就它应用到了Kernel内部、Kernel之间并行模拟中。(2)提出了GPGPU低开销片上网络设计方案本文针对GPGPU中Request网络的通信特点提出了低开销的片上网络设计。将计算节点分为若干组,通过向各组分配专属子网避免了不同组之间的报文冲突;设计了令牌发射机制以及令牌传输网络,彻底避免了组内的报文冲突,并对网络不存在任何冲突进行了证明;设计了低开销的路由器微体系结构,实现了报文在相邻路由器之间的单周期传输;设计了状态回传网络,使计算节点可以感知存储节点中报文缓存队列的状态变化,从而进行相应的发包调整。本文对上述方案进行实现,并针对多个CUDA测试集中的测试程序对系统性能进行了详细的测试与分析。实验结果表明了并行模拟方案和低开销网络设计方案的有效性。