CUDA程序性能优化 并行归约
生活随笔
收集整理的這篇文章主要介紹了
CUDA程序性能优化 并行归约
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??????歸約算法
基本思想是,對于一個輸入數組執行某種計算,然后產生一個更小的結果數組。當大量的數進行加和運算時,可以利用歸約算法,多線程進行求和運算
例如
- ?串行實現需要7步,性能比較差
- 成對方式是典型的分治思想,只需要log?N步來計算結果,由于不能合并內存事物,這種情況在CUDA中性能較差。
- 在CUDA中,無論是全局內存還是局部內存,基于交替策略效果會更好。
成對方式導致線程發散如下
核心代碼
?
完整代碼
?
解決方法: 相鄰線程執行相同的代碼?
交替策略
?核心代碼
?
完整代碼
?
?
?
?
總結
以上是生活随笔為你收集整理的CUDA程序性能优化 并行归约的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pandas 4 - 排序( tcy)
- 下一篇: 用对仗押韵写上善若水高考作文600字