首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CUDA中求出最大值

在CUDA中求出最大值
EN

Stack Overflow用户
提问于 2011-03-10 05:44:48
回答 4查看 18.4K关注 0票数 5

我试图在CUDA中编写一个代码,以便为给定的一组数字找到最大值。

假设您有20个数字,并且内核运行在由5个线程组成的两个块上。现在假设10个线程同时比较前10个值,线程2找到一个最大值,所以线程2在全局内存中更新最大值变量。当线程2正在更新时,使用旧值进行比较的剩余线程(1,3-10)会发生什么情况?

如果我使用atomicCAS()锁定全局变量,那么线程(1,3-10)会使用旧的最大值进行比较吗?我怎样才能克服这个问题?

EN

回答 4

Stack Overflow用户

发布于 2011-03-10 06:12:04

这纯粹是一个约简问题。这是一个很好的介绍性由NVIDIA为优化减少GPU。您可以使用相同的技术来查找所有元素的最小值、最大值或和。

票数 11
EN

Stack Overflow用户

发布于 2017-08-11 08:30:48

推力库的链接断了。

如果有人认为在本例中使用它很有用,您可以在这里找到文档:

推力,极端削减

票数 1
EN

Stack Overflow用户

发布于 2011-03-10 07:42:13

除非您试图编写一个精简内核,否则最简单的方法就是使用古布拉斯

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5255962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档