CPU和GPU真融合 APU異構(gòu)系統(tǒng)架構(gòu)解析
可以看到,在硬件層面,HSA架構(gòu)當中的異構(gòu)統(tǒng)一內(nèi)存訪問是一項關(guān)鍵技術(shù),因此有必要詳細介紹一下UMA:
一個真正的UMA系統(tǒng)中,所有的計算核心共享一個單一的內(nèi)存地址空間,而NUMA采用非統(tǒng)一內(nèi)存訪問的GPU計算系統(tǒng),不同的地址需要額外的數(shù)據(jù)來實現(xiàn)堆棧管理,頻繁的拷貝,同步和地址轉(zhuǎn)換增加了編程復(fù)雜性。HSA恢復(fù)GPU到統(tǒng)一內(nèi)存訪問,異構(gòu)計算取代GPU計算。
hUMA的主要特性:
1. 雙向的一致性,CPU和GPU任何一個處理單元做出的更新對其他的處理單元都是可見的。
2. GPU支持分頁內(nèi)存管理,GPU可以產(chǎn)生缺頁異常,不再受限于傳統(tǒng)的頁表鎖定內(nèi)存;
3. 系統(tǒng)整體內(nèi)存空間的全局管理,CPU和GPU進程可以從整個內(nèi)存空間中動態(tài)分配內(nèi)存。
以往的處理器都不支持hUMA架構(gòu),此時數(shù)據(jù)需要在CPU和GPU之間復(fù)制,CPU先把數(shù)據(jù)從內(nèi)存復(fù)制到顯存中,等GPU完成計算之后,再從顯存中復(fù)制到內(nèi)存中。如此頻繁的轉(zhuǎn)移數(shù)據(jù),會浪費不少處理器時間,導(dǎo)致處理器效能不高,同時占據(jù)了大量的系統(tǒng)總線帶寬。
未來處理器采用hUMA架構(gòu)之后,數(shù)據(jù)就無需復(fù)制了,CPU只需將指針傳遞到GPU,GPU處理完畢后,CPU就可以直接讀取結(jié)果,這樣將極大的提高處理器效能,并降低對總線帶寬的占用。
最后再來回顧一下hUMA架構(gòu)的特性:整體內(nèi)存空間訪問、分頁內(nèi)存、雙向一致性、GPU快速訪問系統(tǒng)內(nèi)存、動態(tài)內(nèi)存分配。值得一提的是,目前已經(jīng)上市的APU產(chǎn)品還不能支持hUMA架構(gòu),AMD會在下半年發(fā)布的下一代APU產(chǎn)品中提供支持,屆時異構(gòu)計算的效能將會得到釋放。
關(guān)注我們
