OpenCL在内核中设置并清除无符号长long数

时间:2015-05-08 04:20:45

标签: opencl

我使用以下代码在OpenCL

中的内核void中设置和清除unsigned long long的位
A1 |= 1ll << 2 * i;  // i = 9 , set bit 18 =1, A1 long long int
A1 &= ~(1ll << 2 * i + 1); //clear bit 19 = 0

我的代码在CUDA中运行良好,但在OpenCL中,它在buildprogram中有错误CL_OUT_OF_HOST_MEMORY。 但如果我使用

A1 |= 1 << 2 * i;  // i = 9 , set bit 18 =1, A1 long long int
A1 &= ~(1 << 2 * i + 1); //clear bit 19 = 0

它运行良好但结果错误,因为它无法设置长多数位。 你能帮帮我吗?

0 个答案:

没有答案