AMD資助:新法讓CPU+GPU融合處理器性能暴增113%
北卡羅萊納州大學和AMD公司的研究人員們最近找到了一種新方法,能夠讓AMD APU、Intel Sandy Bridge這種集CPU、GPU于一體的融合型處理器獲得平均20%以上的性能提升,最多可翻一番還多。工程師們主要是利用了x86處理器的一些獨特性質(zhì),比如說數(shù)據(jù)預取和大容量緩存,從而在GPU上加速并行任務的執(zhí)行。
本文引用地址:http://www.ex-cimer.com/article/128792.htm研究論文作者之一、電子與計算機工程副教授周惠陽博士(Dr. Huiyang Zhou)認為:“芯片廠商開發(fā)了 ‘融合架構’的處理器,將CPU、GPU整合在單獨一顆芯片上。這種方法降低了制造成本,讓計算機更加高效,但是CPU核心、GPU核心仍然都幾乎完全在 執(zhí)行各自不同的功能,很少能夠合作執(zhí)行任何程序,因此沒有預想得那么高效。這就是我們要爭取解決的問題。”
他進一步解釋說:“我們的方法是讓GPU核心去執(zhí)行計算型功能,同時讓CPU從片外主內(nèi)存中預取GPU所需要的數(shù)據(jù)。這樣做的效率更高,因為它能讓CPU、GPU去做各自擅長的事情:GPU的長項是進行計算,CPU則適合做出決定、彈性獲取數(shù)據(jù)。”
其實CPU、GPU從主內(nèi)存中獲取數(shù)據(jù)的速度是差不多的,但如果能讓CPU來提前判斷GPU所需數(shù)據(jù),并拿來做好準備,GPU就可以減輕負擔,全身心投入到執(zhí)行和計算中去了,效率自然可以得到提升。
在一個由CPU輔助進行的GPGPU處理器中,CPU啟動一個GPU程序后,會創(chuàng)建一個預執(zhí)行程序。該程序使用編譯器算法從GPU內(nèi)核中自動生成,包含 GPU內(nèi)核多個線程塊的內(nèi)存訪問指令。CPU預執(zhí)行程序會在GPU內(nèi)核之前運行,這是因為:第一,CPU預執(zhí)行線程僅包含來自GPU內(nèi)核的內(nèi)存拾取指令, 沒有浮點計算;第二,相比于GPU標量核心,CPU的運行頻率更高,指令級的并行度也更高。
研究人員們還利用了CPU二級緩存的預取能力,來提高CPU的內(nèi)存帶寬,因此GPU線程訪問內(nèi)存對三級緩存的依賴及其延遲都大為降低。
此外,因為預執(zhí)行程序是直接由用戶級的應用程序控制的,精度和彈性都非常高。
工程師們通過對一系列基準測試進行試驗,最后得出結論稱這種方法可將處理器性能平均提升21.4%,最多可達驚人的113%。
這篇名為《CPU-GPU融合架構上的CPU輔助GPGPU》(CPU-Assisted GPGPU on Fused CPU-GPU Architectures)的論文將于二月底在新奧爾良舉行的第18屆國際高性能計算機架構研討會上公布。該論文的作者還有北卡羅來納州大學的在校學生Yi Yang、Ping Xiang(看來都是華裔人士),以及來自AMD公司的Mike Mantor,而為研究提供資助的是美國國家科學基金會和AMD公司。
很顯然,AMD未來的Fusion APU非常有希望用到這些技術。
評論