GPU 编程 global memory 的使用

最近做作业,发现了一个一直不理解的问题终于明白了,高兴!

 

block只是用来划分task。

block和device memory 访问没有对应关系。 block可以访问任一device memory的内容。 之前,以为block只能访问划分给它的那块数据!!

比如以前提过的两矩阵乘法, 矩阵小块可以除了访问该矩阵小块对应的device memory,还访问了同一列分区和同一行分区的 device memory。

但是,block在写device memory的时候,就需要注意了!

 

总之:

block 的任务 划分  和 device memory 的数据布局有很大的关系。 

如果device memory 的数据布局好,任务划分的时候,访问数据、写数据都比较容易。有时候,就是根据数据布局来进行任务划分的。

 

block可以访问任一数据。 计算 index的目的是用来明白自己是第几个thread,该thread的任务是什么!!

 

share_memory 的使用非常关键!!

 

还需要更多地看GPU 编程例子,思考 自己的编程想法,再看样例 (这样比自己编程实现省时间。想起了当初学C++的时候,练习册里的例子是看完了的)

 

转载于:https://www.cnblogs.com/xingzifei/p/4903314.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值