與cuda一起編程時,整合與銀行衝突有什麼區別?
只有當共享內存中的銀行衝突時,全局內存纔會發生合併?
我應該擔心聚結,如果我有> 1.2支持的GPU?它是否自己處理聚結?整合與銀行衝突(Cuda)
2
A
回答
5
是的,凝聚的讀/寫操作,適用於全球的讀取和銀行的衝突是適用於共享內存讀/寫。
不同的計算能力的設備有不同的行爲在這裏,但1.2的GPU仍然需要小心,以確保你合併的讀取和寫入 - 它只是有一些優化技術,使東西更容易爲你
你應該閱讀CUDA Best Practices指南。這涉及到這些問題的大量細節。
2
是:合併訪問僅與全局內存相關,銀行衝突僅與共享內存相關。
退房也是高級CUDA C語言培訓課程,首節進入一些細節來解釋> 1.2的GPU硬件如何幫助你,你仍然需要考慮的優化。它也解釋了共享內存銀行衝突。例如,請查看this recording。
的掃描和減少樣品中的SDK也解釋了存儲器組衝突真的很好用漸進式改進的內核。
1
A> 1.2 GPU將嘗試這樣做可以WRT聚結最好的,因爲它是能夠組存儲器訪問適合的256個字節的同一存儲器原子之內的相同的大小和寫入出來作爲1個存儲器寫入。 GPU將負責重新排序訪問並將它們對齊到正確的內存邊界。 (在早期的GPU中,warp內的內存交易必須與內存原子對齊,並且必須按照正確的順序排列。)
但是,爲了獲得最佳性能,您仍然需要確保那些合併機會可用。如果warp中的所有線程都將內存事務處理爲完全不同的內存原子,則聚合器無法執行任何操作,因此仍需要了解內核的內存局部性行爲。
相關問題
- 1. CUDA內存銀行衝突?
- 2. 銀行衝突CUDA共享內存?
- 3. 一級緩存CUDA銀行衝突?
- 4. CUDA共享內存銀行衝突報告更高
- 5. CUDA:不同經紗之間的銀行衝突?
- 6. CUDA。共享內存中的銀行衝突(設備參數)
- 7. l1 CUDA CC 3.0共享銀行衝突分析器計數器
- 8. PHP銀行整合
- 9. 解決衝突 - 嘗試合併GMEM訪問,使用SMEM,但銀行衝突
- 10. 我得到了與銀聯的衝突/減少衝突
- 11. GPU共享內存銀行衝突
- 12. 2.x設備中的銀行衝突
- 13. 水銀更改衝突
- 14. 使用Nsight確定銀行衝突併合並
- 15. 爲什麼Cuda/OpenCL在全局內存中沒有銀行衝突?
- 16. 水銀:編輯器不顯示衝突合併後的衝突文件
- 17. CUDA集成,訪問衝突
- 18. CUDA不斷內存銀行
- 19. 與銀行合作的API?
- 20. svn合併衝突的整個目錄
- 21. 水銀解決兩國元首衝突
- 22. 使用交錯尋址方法並行減少銀行衝突
- 23. ccavenue - 如何整合網上銀行
- 24. 合併衝突:從衝突文件
- 25. CUDA非原子寫衝突結果
- 26. 在Git中如何合併衝突與在Subversion中合併衝突?
- 27. 可以使用內核參數導致銀行衝突?
- 28. 如何減少此代碼中的銀行衝突?
- 29. TFS合併衝突
- 30. svn合併衝突