GPU 記憶體
GPU 提供六種不同的記憶體區域。它們的延遲,大小和來自不同執行緒的可訪問性各不相同。
- 全域性記憶體:可用的最大記憶體,也是少數與主機交換資料的記憶體之一。此記憶體具有最高延遲,可用於所有執行緒。
- 常量記憶體:全域性記憶體的只讀部分,只能由其他執行緒讀取。與全域性記憶體相比,它的優勢在於延遲更低
- 紋理記憶:也是常量記憶的一部分,專門為紋理設計
- 共享記憶體:此記憶體區域靠近 SM 放置,只能由單個執行緒塊訪問。它提供比全域性記憶體更低的延遲,並且比常量記憶體的延遲更少。
- 暫存器:只能由單個執行緒訪問,並且只能訪問最快的記憶體。但是如果編譯器檢測到核心需要的暫存器不足,它會將變數外包給本地記憶體。
- 本地記憶體:全域性記憶體區域中僅可由執行緒訪問的記憶體部分。用作暫存器的備份,如果可能,應避免使用。