cuda性能约束:条件分支

cuda性能约束:条件分支,cuda,Cuda,伙计们,我想知道一些有关条件分支的cuda性能。我有以下代码 if(i==5) i=10; else i=5; 现在,如果我使用下面的语句,它会消除cuda中的n/2性能瓶颈吗 i=(i==5)?10:5; 提前感谢您的帮助。您所指的“n/2性能瓶颈”可能是由于条件分支导致的扭曲差异 很可能在您所展示的任何一个公式中,编译器都将使用来避免完全分支,并且可能这两种情况都将编译为相似或相同的机器代码 编译器将积极使用谓词执行,以避免分支和扭曲分歧 一般来说,从C/C++源代码中做出关于机器行为的

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

if(i==5)
i=10;
else
i=5;
现在,如果我使用下面的语句,它会消除cuda中的n/2性能瓶颈吗

i=(i==5)?10:5;
提前感谢您的帮助。

您所指的“n/2性能瓶颈”可能是由于条件分支导致的扭曲差异

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

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

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