鐵之狂傲

 取回密碼
 註冊
搜尋

切換到指定樓層
1#
  從2006年收購ATI之後,AMD一直力推的就是Fusion融合的概念,他們希望GPU和CPU不再是互相獨立的單位,而是可以互相輔助,發揮各自的特長。APU的出現算是AMD融合理念的第一步,但是APU實際上只是解決了CPU和GPU的整合問題,真正的融合理念還很遠,其中一個關鍵問題就是CPU和GPU的統一定址問題,為此AMD還成立了HSA基金會,拉攏了高通、ARM等大腕一同推薦CPU和GPU融合大業。
AMDRoadmap_08.jpg
AMD力推的HSA路線圖,2013年是解決GPU和CPU統一定址的關鍵


  AMD如此痴迷於異構運算的原因就在於目前的CPU在浮點性能上與GPU的差距越來越大,2002年的頂級CPU——Pentium 4的浮點性能是12.24GFLOPS,當年的Radeon 9700 Pro浮點性能是31.2GFLOPS,二者的差距不過是2-3倍。但是十年後再來看,Intel去年推出的最強消費級處理器Core i7-3970X的浮點性能不過336GFLOPS,而AMD的Radeon HD 7970 GE顯示卡的浮點性能已經是4301GFLOPS,性能是前者的13x,差距還在進一步擴大。
  既然GPU有着如此強大的性能,那麼使用GPU來加速運算不是更好嗎?這是AMD的目的,也是GPU通用計算的最終目的,但是要想實現這個目的就得需要解決幾個難題,首先就是CPU和GPU都有各自的記憶體系統,聯合運算就需要二者使用相同的記憶體系統。
  之前索尼的設計師在談到PS4為何不是一套簡單的“高級PC”時就提到了一個問題,那就是PS4使用的是統一定址設計,8GB GDDR5既是GPU的記憶體系統也是CPU的記憶體系統。因為PS4使用的是AMD的APU,這個統一定址設計其實是AMD的功勞,如今他們也正式宣佈了這項技術——hUMA( Heterogeneous Uniform Memory Access,異構統一記憶體訪問),它將成為未來APU的基石。

  與hUMA相對的還有UMA(Unified Memory Access)和NUMA(Non-Unified Memory Access),UMA是指所有內核使用一條記憶體定址匯流排,目前的多核CPU內部基本上都是UMA定址了,因為他們的內核是一樣的,而NUMA自然就不是統一定址了,AMD的hUMA則是在GPU、CPU之間進行兩個完全不同的架構之間進行統一定址,二者通過一條雙向儲存匯流排使用共同的記憶體系統。

  hUMA設計的主要特點有:
1.雙向一致性記憶體(Bi-Directional Coherent Memory),不論是GPU還是CPU在處理器過程中對記憶體中的數據做了什麼改變,另外一方總是能立即看到更改後的數據。
2.可調頁記憶體(Pageable Memory),GPU可以處理(take)頁面錯誤,不再受頁面鎖定記憶體的限制。
3.完整記憶體空間(Entire Memory Spac),GPU和CPU可以動態分配整個記憶體空間。
small_hsa-slide-3.jpg
目前的NUMA系統的記憶體操作,CPU和GPU各自獨立

small_hsa-slide-4.jpg
hUMA系統下CPU和GPU擁有統一的記憶體空間

  有了hUMA這種異構統一定址之後,AMD稱其可以簡化編程難度,降低編程開發的成本。該技術支援主流的編程語言——Python、C++及Java等,開發者無需專用API即可簡化特殊架構的開發工作。AMD表示引入hUMA之後能效也變高了,因為現在為CPU開發的代碼可以運行在GPU上了,反之亦然。
  目前除了索尼的PS4主機之外還沒有實際產品使用hUMA技術,Kaveri應該是第一個使用hUMA設計的APU產品,其CPU核心為Steamroller架構,性能會比目前的Piledriver核心有明顯提升,而Kavri APU預計會在今年底發布。
 
轉播0 分享0 收藏0

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 24-11-5 14:44 , Processed in 0.020209 second(s), 17 queries , Gzip On.

回頂部