3
我理解本地內存(我認爲):通過將部分從全局複製到本地,您可以允許工作組更快速地訪問片上SRAM中的數據。OpenCL:私人記憶的目的和有效用途是什麼?
那麼私人存儲器有什麼用呢?我已經讀過,它是一個片外的,例如全球記憶的保留部分。所以它不會比本地更快。並且它保留給我相信的每個工作項目(或硬件,SIMD通道)。
隨意舉個例子,可能會幫助我理解。謝謝!
我理解本地內存(我認爲):通過將部分從全局複製到本地,您可以允許工作組更快速地訪問片上SRAM中的數據。OpenCL:私人記憶的目的和有效用途是什麼?
那麼私人存儲器有什麼用呢?我已經讀過,它是一個片外的,例如全球記憶的保留部分。所以它不會比本地更快。並且它保留給我相信的每個工作項目(或硬件,SIMD通道)。
隨意舉個例子,可能會幫助我理解。謝謝!
專用內存有兩個用途:
快速存儲(一種寄存器/L1高速緩存)如果它足夠小,比本地內存
私有存儲速度更快在全球記憶爲每個工作項目,如果所有的私人數據不能適應regi ster也沒有放入本地內存
所以你說私人內存*可以*片上,如果編譯器檢測到它足夠小?我不知道這種可能性。如果你說的是真的,那麼我認爲私人內存可以很好地存儲一些經常讀取的常量參數,例如。 – JDS
我剛剛在H&P的計算機體系結構中讀過,「最近的GPU在L1和L2高速緩存中緩存這個私有內存,以幫助註冊溢出並加速函數調用。」這與你的答案一致(在他們提到用於私人存儲器的片外DRAM之前的句子)。那麼問題就變成了:如何判斷哪個設備使用私有內存做了什麼?我確信可以聯繫供應商,但理想情況下,您希望在運行時動態確定它。 – JDS
還有一點評論:我發現奇怪的是私有內存可能是最快或最慢的內存=) – JDS