我正在使用VS2012,CUDA 5.5 SDK
一旦我将__launch_bounds__()
添加到内核中,VS intellisense会发现很多错误incomplete type is not allowed
我在"host_defines.h"
,
#define __launch_bounds__(...) \
__annotate__(launch_bounds(__VA_ARGS__))
项目的编译工作正常,只是智能感知错误
编辑: cuda内核的例子
__global__ void kernel(int* result, int* input){} //fine
__global__ void __launch_bounds__(256, 8) kernel(int* result, int* input){} //intellisense error
答案 0 :(得分:3)
我找到了解决方案
#ifdef __CUDACC__
#define L(x,y) __launch_bounds__(x,y)
#else
#define L(x,y)
#endif
__global__ void L(256, 8) kernel(int* result, int* input){}
这没有智能感知问题编译好