栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CUDA:还原还是原子运算?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CUDA:还原还是原子运算?

这是减少CUDA的常用方法

在每个区块中

1)在每个线程的共享内存中保持一个递减的值。因此,每个线程将从全局内存中读取n个值(我个人比较喜欢16和32之间的值),值,并从这些值中更新减少的值

2)在块内执行约简算法,以使每个块获得一个最终的约简值。

这样,您不需要的共享内存多于(线程数)* sizeof(数据类型)字节。

由于每个块都有一个减少的值,因此您将需要执行第二次减少以获取最终值。

例如,如果每个块启动256个线程,并且每个线程读取16个值,则每个块可以减少(256 * 16 = 4096)个元素。

因此,给定一百万个元素,您将需要在第一遍中启动大约250个块,在第二遍中仅启动一个块。

对于这种配置,如果元素数>(4096)^ 2,则可能需要第三次通过。

您将必须注意全局内存读取已合并。您无法合并全局内存写入,但这是您需要承受的性能损失。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号