工程师提高计算机处理器性能超过20%
来自北卡罗来纳州立大学的研究人员开发了一种新技术,允许在一个芯片上的图形处理单元(gpu)和中央处理单元(cpu)协同工作,使处理器的性能平均提高了20%以上。
“芯片制造商现在正在创造具有‘融合架构’的处理器,这意味着他们将cpu和gpu包含在一个芯片上,”电子和计算机工程副教授、该研究论文的合著者周辉阳博士说。这种方法降低了制造成本,并使计算机更节能。然而,CPU核和GPU核仍然几乎只在不同的功能上工作。它们很少协作执行任何给定的程序,所以它们的效率没有达到应有的水平。这就是我们试图解决的问题。”
gpu最初被设计用来执行图形程序,它们能够非常快速地执行许多单独的功能。cpu,或计算机的“大脑”,计算能力较低,但能够更好地执行更复杂的任务。
“我们的方法是让GPU内核执行计算功能,并让CPU内核预取GPU需要的数据,从芯片外的主存储器,”周说。
“这更有效,因为它允许cpu和gpu做他们擅长的事情。gpu擅长执行计算。cpu擅长决策和灵活的数据检索。”
换句话说,cpu和gpu从芯片外主存获取数据的速度大致相同,但gpu可以更快地执行使用这些数据的函数。因此,如果CPU提前确定GPU需要哪些数据,并从芯片外的主存储器中提取数据,这就允许GPU专注于执行功能本身——整个过程花费的时间更少。
在初步测试中,周的团队发现这种新方法平均提高了融合处理器21.4%的性能。
这种方法在过去是不可能的,周补充说,因为cpu和gpu位于不同的芯片上。
这篇题为“CPU-GPU - fusion架构上的cpu -辅助gpu”的论文将于2月27日在新奥尔良举行的第18届高性能计算机架构国际研讨会上发表。这篇论文是由北卡罗来纳州立大学的博士生杨毅和向萍,以及先进微设备公司(AMD)的迈克·曼托共同撰写的。这项研究由美国国家科学基金会和AMD资助。
希普曼-
编辑:论文摘要如下。
基于融合CPU-GPU架构的cpu辅助GPGPU
作者:杨毅,向萍,周惠阳,北卡罗莱纳州立大学;麦克·曼托,高级微设备公司
提出了2月27日,第18届高性能计算机体系结构国际研讨会,新奥尔良
文摘:本文提出了一种在融合的CPU- gpu架构上利用CPU资源促进GPGPU程序执行的新方法。在我们的融合架构模型中,GPU和CPU集成在同一块芯片上,共享片上L3缓存和片外内存,类似于最新的英特尔Sandy Bridge和AMD加速处理单元(APU)平台。在我们提出的CPU辅助GPGPU中,CPU启动一个GPU程序后,会执行一个预执行程序,该程序使用我们提出的编译算法从GPU内核自动生成,包含GPU内核的多个线程块的内存访问指令。CPU预执行程序运行在GPU线程之前,因为(1)CPU预执行线程只包含GPU内核的内存取指令,而不包含浮点运算;(2)CPU运行频率更高,指令级并行度更高。我们还利用CPU端l2缓存的预取器来增加来自CPU的内存流量。这样一来,GPU线程的内存访问命中了L3缓存,延迟大大降低。由于我们的预执行是由用户级应用程序直接控制的,因此它具有较高的准确性和灵活性。我们在一组基准测试上的实验表明,我们提出的预执行平均提高了性能高达113%和21.4%。
- 类别:
