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