首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cuda性能约束:条件分支

cuda性能约束:条件分支
EN

Stack Overflow用户
提问于 2014-03-25 12:07:48
回答 1查看 153关注 0票数 0

伙计们,我想知道一些关于条件分支的cuda性能。我有以下代码

代码语言:javascript
运行
复制
if(i==5)
i=10;
else
i=5;

现在,如果我使用以下语句,是否会消除cuda中的n/2性能瓶颈?

代码语言:javascript
运行
复制
i=(i==5)?10:5;

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-03-25 13:38:08

假设你所说的"n/2性能瓶颈“是由于条件分支造成的偏差。

很可能在您所展示的任一公式中,编译器都将利用predicates来完全避免分支,并且可能两种情况都将编译成相似或相同的机器代码。

编译器将积极使用谓词执行,以避免分支和扭曲分歧。

一般来说,从C/C++源代码做出关于机器行为的有效推断是相当困难的。相反,通过编译到ptx (nvcc -ptx ...)来比较这两种情况,或者更好的做法是使用cuobjdump -sass my_executable进行普通编译并转储机器代码。

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

https://stackoverflow.com/questions/22625262

复制
相关文章

相似问题

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