GPU通用可编程技术中的scatter与gather

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>


随着GPU可编程性能的增强以及GPGPU技术的不断发展,人们希望基于流处理器模型的GPU能够像CPU一样,在支持流程分支的同时,也允许对存储器进行灵活的读写操作。在进行早期的GPU通用可编程技术研究时,Ian Buck [1]就曾经指出,缺乏灵活的存储器操作,是制约GPU完成复杂计算任务的关键,因此他在设计Brook [2]时增加了对scatter/gather特性的支持,但是其实现过程仍然是通过一些以牺牲性能为代价的技巧完成的。
    在
GPUscatter/gather的实现与第一向量机中的很相似,scatter允许将数据输出到非连续的存储器地址内,而gather则允许从非连续的存储器地址内读取数据。因此如果认为存储器(如DRAM)是一个二维数组,scatter可以看作利用下标将数据写入数组中的任意位置,即a[i] = x,而gather可以看作是利用下标从数组中的任意位置读出数据,即x = a[i]
    在
CUDA [5]的架构中(图1),每个ALU可以看作是一个处理核心&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值