Intro to Parallel Programming CUDA - Udacity 458
https://www.youtube.com/playlist?list=PLGvfHSgImk4aweyWlhBXNF6XISY3um82_
这是udacity的一个cuda并行编程的视频笔记,网址在上,翻墙即得。
顺便附上源码:https://github.com/aramadia/udacity-cs344
这是原视频的Unit3, 之前的笔记暂未整理,有空附上。
Reduce
reduce操作: 对二元可结合运算(没有先后顺序),前一项结果作为后一项输入。
- a) Binary
- b) Associativity
并行reduce: 两两结合, 复杂度:log2(n)
编程实现:
比如我们要reduce 1024*1024的矩阵
我们会运行1024个block, 每个block开1024个线程。
每个block中将后一半加到前一半,直到值归到第一个线程,将1024*1024 reduce为1024,再用一个bl