小编ped*_*m64的帖子

CUDA 中的块间同步

我为这个问题搜索了一个月。我无法同步 CUDA 中的块。

我读过很多关于atomicAdd、合作组等的文章。我决定使用一个全局数组,这样一个块就可以在全局数组的一个元素上写入。写入之后,块的线程将等待(即陷入 while 循环),直到所有块都写入全局数组。

当我使用 3 个块时,我的同步效果很好(因为我有 3 个 SM)。但使用 3 个街区可以让我获得 12% 的入住率。所以我需要使用更多的块,但它们无法同步。问题是:SM 上的一个块等待其他块,因此 SM 无法获取另一个块。

我能做些什么?当区块数量超过SM数量时,如何同步区块?

CUDA-GPU 规范:CC。6.1、3 SM、Windows 10、VS2015、GeForce MX150 显卡。请帮助我解决这个问题。我使用了很多代码,但没有一个起作用。

parallel-processing cuda gpu nvidia

2
推荐指数
1
解决办法
3524
查看次数

标签 统计

cuda ×1

gpu ×1

nvidia ×1

parallel-processing ×1