当我在OpenCL中使用此赋值语句代码时,为什么我的VGPR使用率增长如此之快?

时间:2018-04-12 07:22:34

标签: optimization opencl

if (condition)
{
printf("find:%d\n",gid);
*foundFlag = 1;
dst[gid] = gid * crack_cnt + num;
break;
}

此代码用于在找到密码时结束内核功能。 * foundFlag是一个指向char值的指针,在kernel funtion形式参数中定义如下:

__global char * foundFlag,

当我评论* foundFlag = 1时,CodeXL使用VGPR,只使用4个VGPR寄存器: registers

但是当这个行代码运行时,VGPR的使用量增加到88个VGPR寄存器: registers2 我保证我只是修改了这行代码,而且这里只使用了foundFlag。我很困惑。如果你能帮我解决这个问题,我将不胜感激。(0_0)

0 个答案:

没有答案