umts wrote:
所以Intel GPGPU是可以用L3 cache直接存取Global Memory,不需要統一虛擬定址空間這個東東(IOMMU轉譯).
GPU直接存取Global Memory和可以存取CPU用的Memory是兩回事情
今天如果Haswell GPU可以存取給CPU使用的Memory
寫程式的人還需要把Task丟來丟去嗎?
實際上Intel GPU就是不能存取劃給CPU的Memory
Haswell的做法不過是在CPU做L3快取
這樣增加GPU和CPU的Cache Hit rate
作效能方面的增加
就寫程式的立場來看
還是和之前GPGPU一樣麻煩
今天你有6GB主記憶體
1GB給GPU顯示卡
5GB給CPU
差別在於這5GB Intel GPU不能直接存取
要轉到1GB才能給GPU
但是AMD GPU可以直接存取這5GB
而AMD在Kaveri之前也是不可以,直到現在
Intel的弱點並不是支援OpenCL
OpenCL也可以支援HSA
重點是Intel的GPU不能直接存取把GPU當FPU來用
AMD卻可以也就是為甚麼得到廣泛的支持
這種突破和當年的64Bit一樣
都是AMD先做出的
不過當年Intel很快跟進
現在不知道會不會故意擺爛
因為不跟進Intel會被HSA拋棄,在Java和移動裝置上面效能大敗
跟進的話又被迫和AMD玩內顯大戰