日前,AMD進一步公開說明此運算架構(gòu)的新技術(shù):hUMA(heterogeneous Uniform Memory Access)。透過hUMA,CPU和GPU能共享同一個存儲空間,并且CPU能夠直接存取GPU的存儲位址,不必像過去得花工夫再將GPU的運算資料復寫到CPU上。

過去CPU和GPU的存儲池仍獨立運作

換句話說,以過去技術(shù)發(fā)展的狀態(tài),即便GPU和CPU已整合到同一個芯片上(GPGPU技術(shù)),芯片在運算時要定位存儲的位置仍然得經(jīng)過繁雜的步驟,這是因為CPU和GPU的存儲池仍然是獨立運作。

先前為了解決兩者存儲池獨立的運算問題,當CPU程式需要在GPU上進行部分運算時,CPU都必須從CPU的存儲上復制所有的資料到GPU的存儲上,而當GPU上的運算完成時,這些資料還得再復制回到CPU存儲上。這些步驟都會不斷耗費時間以及程式處理的效能。

此外,復制資料的步驟也代表著,當CPU正在運作時,GPU就無法同時運算相同的資料。而當不同程式語言間的關(guān)鍵術(shù)語(exact terminology)變化時,CPU資料架構(gòu)會啟動指標器(pointers)來指示相關(guān)的資料,但是,因為CPU的指標器是指示到CPU存儲上的位置,而GPU的存儲又是另一個獨立架構(gòu),因此這樣的架構(gòu)若復制到GPU上運作,反而會產(chǎn)生位置錯置的問題。

而hUMA技術(shù),就是來解決兩者存儲獨立的問題。

hUMA能讓GPU直接存取CPU的存儲位置

hUMA像個連貫快取的系統(tǒng),讓CPU和GPU能共享同一個存儲空間,讓CPU和GPU在存儲上看到的資料都能維持一致,如果其中一方上的資料改變,即便舊資料經(jīng)過快取,另一方還是能看到經(jīng)改變的資料。換句話說,hUMA能讓GPU直接存取CPU的存儲位置,當CPU在讀寫資料時,GPU也能同時讀寫資料。

此外,hUMA也能用在CPU的需要配置虛擬存儲(demand-paged virtual memory)上。當GPU要存取寫在磁碟上的位置時,CPU就能讓作業(yè)系統(tǒng)去尋找,并加載相關(guān)的資料進存儲中。

第一款支援hUMA的產(chǎn)品將會是AMD的Kaveri APU,預計今年下半年上市。根據(jù)AMD表示,hUMA將會支援C++和Java等開發(fā)語言。

分享到

yuanjiaju

相關(guān)推薦