并行计算 week3

首先归纳评估gpu计算的两个标准:

step:完成特定计算需要的时间

work:工作总量

当计算 a+b+c+d+e+f+g+...时

串行的step的复杂度为O(N-1)

并行的step时间复杂度为O(logn)

Scan运算:

Scan运算由输入向量、二元结合运算符和标识值组成。

identity element:标识值:标识值需要满足 identity op a=a;  例如 op为乘的时候,i为1.

op:二元结合运算符。

Scan运算分为两种,这两种是非常重点的,在课堂上迷迷糊糊听老师讲耳朵被灌输了不下于n次。

第一种:exclusive

区别(exclusive的输出不包含当前的输入值)

第二种:inclusive

下面来计算exclusive和inclusive的step和work的时间复杂度

inclusive scan:

step的时间复杂度与reduce相同,都是O(logn),具体过程不再复述

work的时间复杂度是O(n^{2})。过程是因为每一步都存在累加,1+2+3+4+...+n-1

时间复杂度太大,下面提出改进方法:

Hills steele inclusive scan:

具体看链接:

【Udacity并行计算课程笔记】- Lesson 3 Fundamental GPU Algorithms (Reduce, Scan, Histogram)-CSDN博客

得出横向时间复杂度为O(n),纵向step复杂度为O(logn),所以总的work时间复杂度为O(nlogn)

Blelloch Scan:

具体看链接

【Udacity并行计算课程笔记】- Lesson 3 Fundamental GPU Algorithms (Reduce, Scan, Histogram)-CSDN博客

得出step的复杂度为O(2logn),work的时间复杂度为O(n)

不过确实难理解,blelloch Scan

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值