CUDA記憶體介紹

碎月斷歌發表於2020-12-07

CUDA記憶體介紹

Global Memory

Global Memory就是我們在書寫CUDA程式時最常使用的記憶體,cudaMemcpy也是從CPU 記憶體拷貝到Global Memory。
Global Mem能被所有thread訪問。
Device可讀/寫, host可讀/寫。

Local Memory

每個thread都擁有自己私有的local memory,負責儲存一些區域性變數(automatic variable)。
對於區域性變數而說,一些小型的區域性變數會被放到register裡,當register不夠用時,則會被放到Local Mem中。
每個執行緒私有;沒有快取,慢,Device可讀/寫。

Shared Memory

shared memory位於thread block這一層,即每個block共享一塊shared mem,這塊shared mem對該block內的所有threads可見,且當該block執行結束時,其所佔用的shared mem也會被釋放。
特點:block中的執行緒共有;訪問共享儲存器幾乎與register一樣快.
Device可讀/寫

相關文章