[問題] CUDA shared memory VS cache

看板C_and_CPP (C/C++)作者 (star8ksn)時間15年前 (2011/04/17 22:45), 編輯推噓1(1021)
留言22則, 3人參與, 最新討論串1/1
第一次在這個版發文 如果有什麼不符版規還請指正 想請問一下在CUDA3.0(Fermi)之後不就多了cache 那他在latency的表現上和shared memory哪個比較好? 又大概好多少? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.13.135

04/18 09:57, , 1F
CUDA3.0和Fermi是不一樣的東西 CUDA3.0是toolkit版本
04/18 09:57, 1F

04/18 09:58, , 2F
Fermi是Compute capability 2.x的GPU
04/18 09:58, 2F

04/18 09:59, , 3F
Fermi架構的確是增加了L2 cache用以提昇效能 跟shared
04/18 09:59, 3F

04/18 10:00, , 4F
memory比latency的話... shared memory屬於L1 cache
04/18 10:00, 4F

04/18 10:01, , 5F
至於latency差多少 沒看過談詳細數據的資料
04/18 10:01, 5F

04/18 10:06, , 6F
想了解更多Fermi架構請參考http://tinyurl.com/y9b9ww2
04/18 10:06, 6F

04/18 10:48, , 7F
感謝樓上大大的指正 但在他的Fermi白皮書的第15頁最後一
04/18 10:48, 7F

04/18 10:49, , 8F
段 The per-SM L1 cache is configurable to support
04/18 10:49, 8F

04/18 10:50, , 9F
both shared memory and caching of local and global
04/18 10:50, 9F

04/18 10:51, , 10F
memory operations
04/18 10:51, 10F

04/18 10:52, , 11F
假如是比shared memory和L1 cache呢?
04/18 10:52, 11F

04/18 10:59, , 12F
一個手排一個自排摟
04/18 10:59, 12F

04/18 11:13, , 13F
好生動的比喻 ^^
04/18 11:13, 13F

04/18 11:18, , 14F
a大的意思是 只是差在使用上的麻煩程度 latency的表現
04/18 11:18, 14F

04/18 11:19, , 15F
上是差不多的@@?
04/18 11:19, 15F

04/18 11:19, , 16F
講清楚一點就是 每個SM的L1 cache可以分成兩部分 一部分
04/18 11:19, 16F

04/18 11:20, , 17F
是shared mem 一部分是caching of local and global mem
04/18 11:20, 17F

04/18 11:21, , 18F
比例你可以自己設定(48KB:16KB or 16KB:48KB)
04/18 11:21, 18F

04/18 11:22, , 19F
shared mem自己控制 另一部分交給GPU幫你管
04/18 11:22, 19F

04/18 11:23, , 20F
至於latency... 當然是一樣囉(畢竟是相同性質的mem)
04/18 11:23, 20F

04/18 11:24, , 21F
設定L1 cache比例的方法 請參考CUDA API
04/18 11:24, 21F

04/18 11:31, , 22F
恩恩~~瞭解了!! 感謝^^
04/18 11:31, 22F
文章代碼(AID): #1Dglq3kP (C_and_CPP)
文章代碼(AID): #1Dglq3kP (C_and_CPP)