AMD揭露HSA運算架構細節

80 views
Skip to first unread message

Glax Chen

unread,
Aug 12, 2013, 9:13:06 AM8/12/13
to tw-linux-ke...@googlegroups.com
http://www.ithome.com.tw/itadm/article.php?c=80264

AMD發表新運算架構技術hUMA,可讓CPU與GPU共享同一記憶體空間,解決過去的資料重覆拷貝問題 

晶片製造商AMD發表HSA運算架構的新技術:hUMA,來解決CPU與GPU間的重覆資料拷貝問題。 

2012年,AMD就攜手ARM、高通、三星、聯發科等廠商成立HSA(Heterogeneous Systems Architecture)基金會,希望拓展CPU和GPU協同運算的新架構,並輔助此架構發展的異質運算新軟體開發環境。 

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

過去CPU和GPU的記憶體池仍獨立運作 
換句話說,以過去技術發展的狀態,即便GPU和CPU已整合到同一個晶片上(GPGPU技術),晶片在運算時要定位記憶體的位置仍然得經過繁雜的步驟,這是因為CPU和GPU的記憶體池仍然是獨立運作。 

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

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

而hUMA技術,就是來解決兩者記憶體獨立的問題。 

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

此外,hUMA也能用在CPU的需要配置虛擬記憶體(demand-paged virtual memory)上。當GPU要存取寫在磁碟上的位置時,CPU就能讓作業系統去尋找,並加載相關的資料進記憶體中。 

第一款支援hUMA的產品將會是AMD的Kaveri APU,預計今年下半年上市。根據AMD表示,hUMA將會支援C++和Java等開發語言。文⊙楊晨欣 

hUMA概念 

Spark

unread,
Aug 12, 2013, 10:27:57 PM8/12/13
to tw-linux-ke...@googlegroups.com
這個不錯哦~
nVidia CUDA 運算前要把資料搬進顯卡ddr,算完在搬回來
搬來搬去浪費很多時間,也是個瓶頸


--
您已訂閱「Google 網上論壇」的「TW Linux Kernel Hacker」群組,因此我們特別傳送這封郵件通知您。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 tw-linux-kernel-h...@googlegroups.com
如需更多選項,請前往:https://groups.google.com/groups/opt_out。

Reply all
Reply to author
Forward
0 new messages