GPU 规约算法步骤 1

本文详细介绍了GPU上的规约算法步骤,包括从全局内存加载数据到共享内存,通过二叉树方式进行规约操作,每个步骤后线程数量减半,最终只剩一个活跃线程将结果写回全局内存。然而,该算法存在效率问题,如指令分散导致CUDA核心利用率低,以及线程空闲。为提高效率,提出了不同线程访问不同bank的设计,减少跨内存操作,但仍然存在循环中线程空闲的问题。
摘要由CSDN通过智能技术生成

1 加载数据

每个线程从全局内存加载一个元素到共享内存中,

2 规约操作: 需要处理log N步

第一个线程规约前两个元素

第二个线程规约接下来的两个元素

每两次相加得到部分和

。。。。依次类推

每个一步后都有一半的线程被丢弃了,处于死状态

最终只有一个线程处于活跃转态

3 将结果写回全局内存

二叉树算法

算法效率低,有效利用率低。

指令分散导致效率很低

很多cuda core处于空闲转态。

 

step 1有一半的线程处于空闲转态

step 2 又有一半的线程处于空闲转态

 

没有指令分化,会有跨内存的操作(64,32,16,8)每次线程数减半  

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xieshangxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值