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