论文部分内容阅读
目前处理器持续增长的温度已经成为芯片设计的主要瓶颈之一。求解热方程最常用的方法是有限差分法(Finite Difference Method,简称FDM)和有限元法(Finite Element Method,简称FEM),这两种方法可以对物理系统进行详细的建模。但是使用有限差分法(FDM)和有限元法(FEM)对微处理器温度进行建模时需要大量的节点,这也意味着需要更长的计算时间。ATMI模拟器对热方程的求解是采用最早的分析法(Analytical Method,简称AM),采用分析方法的优点是减少了计算所需要的节点,在一定程度上加快了计算速度。ATMI模拟器具有高效性,可靠性和易用性,这些优点使其在科研领域得到了广泛的应用。实验表明,当ATMI模拟器在模拟十几个核的处理器温度的时候,热响应阶段的计算需要一个周的时间。那么,随着科学技术的不断发展和处理器的更新换代,ATMI模拟器已经不适合未来处理器温度的模拟。本文采用CUDA技术完成了ATMI模拟器GPU平台移植的前期工作,主要包括以下几个方面的工作:首先,在深入研究ATMI模拟器串行算法的基础上,重点研究了ATMI模拟器热响应阶段的算法,结合GPU体系结构和CUDA编程的特点,对原有的热响应阶段的串行算法进行了优化,优化的目的是使其更合适GPU编程。其次,实现了GPU平台的积分算法和贝塞尔算法。由于线程的并行度不够和复杂的程序结构,实现的这两个算法与原有串行算法相比实验结果不是很理想。在GPU平台上求解热响应方程的时候可以直接调用这两个已经在GPU实现的库函数。最后,我们提出了GPU平台热响应阶段的并行算法,完成了整个并行算法的框架搭建。本文从任务级进行了并行程序的设计,每一个线程负责一对热源之间的计算。本文致力于GPU平台的模拟器的研究与探索,希望解决GPU多线程应用程序在开发过程中遇到的问题,也希望为以后多核处理温度相关问题的研究提供一些可以积累的经验。