1、第一个quiz答案:6,21,问题很简单,数一下就好了。
2、什么是“归约”操作
归约操作有两个输入:
1)输入对象的集合
2)归约运算符:满足二元操作符、满足可结合性
3、第二个quiz答案:multiply、minimum、logical or、bitwise and
4、第三个quiz答案:2、3选项是对的。
5、第四个quiz答案:(a+b)+(c+d)
6、第五个quiz答案:logn
7、第六个quiz答案:3倍(不是特别理解)
根据视频中的解答,对全局内存来说,假设N=1024,read操作一共要(1024+512+...+1),write操作需要(512+256+...+1),对共享内存来说read操作需要1024次操作,write操作需要1次。用N表示的话,全局内存需要约3N次操作,共享内存需要N+1次操作,大约相差3倍。
8、scan操作
scan操作就是计算它的输入项的当前和,scan操作中有一个概念叫标识元素,标识元素针对特定操作符,与其他元素操作后的结果仍等于该元素。
9、第七个quiz答案:1、0、1
10、第八个quiz答案:
identity:0
output:0、3、3、4、4、5
11、第九个quiz答案:
代码如下
for(int i = 0; i < ARRAY_SIZE; i++){
out[i] = acc;
acc = acc + elements[i]; }
12、第十个quiz答案:
steps:o(logn)
work:o(n^2)
13、第十一个quiz答案:
steps:logn
works:nlogn
14、第十二个quiz答案:
2、4、4、0、0、2、0、2、2、4
15、H-S算法总结:
steps:o(logn)
works:o(nlogn)
Blelloch算法总结:
steps:o(2log