最优的cuda线程配置
生活随笔
收集整理的這篇文章主要介紹了
最优的cuda线程配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最優的cuda線程配置
1 每個SM上面失少要有192個激活線程,寄存器寫后讀的數據依賴才能被掩蓋 ? 2 將 寄存器 的bank沖突降到最低,應盡量使每個block含有的線程數是64的倍數 ? 3 block的數量應設置得令可用的計算資源被充分的利用。由于每個block映射到一個sm上面,所以至少應該讓block的數目跟sm的數目一樣多。 ? 4 當Block中的線程被同步時或者等待讀取設備存儲器時,相應的SM會閑置。通常讓block的數目是sm的2倍以上,使其在時間軸上重疊 ? 5 如果block的數目足夠多,則每個Block里的線程數應設置成warp尺寸的整數倍,以免過小的warp浪費計算資源。 ? 6 給每個block分配越多的線程,能更高效的讓他們在時間片上工作。但是相應的每個線程的寄存器也就越少。當寄存器過少,有可能因為訪問溢出的寄存器,而導致數據的存儲變慢。 ? 7 當每個線程占用的寄存器較多時,不宜在Block內分配過多的線程,否則也會減少block的數目。從而使SM的工作效率降低 ? 8 每個block內的線程數應遵循 相應的 計算能力等級中的規定數目。 ? 原文來自《GPGPU編程技術--從GLSL、CUDA到OPENCL》總結
以上是生活随笔為你收集整理的最优的cuda线程配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用计算机计算汉坦,河北省Ⅱ型汉坦病毒流行
- 下一篇: cuda-Block和Grid设定