この方法は副作用があるようなので、おすすめはしない。
Visual Studio で CUDA のソースコードを編集していると、
構文間違いではないのに赤い波線のエラーが表示される。
例えば、
__syncthreads();
や
my_cuda_kernel_func<<<1, 1>>>();
などで赤い波線が表示される。
これを解消するには、ソースコードの先頭に
#ifndef __CUDACC__
#define __CUDACC__
#endif
を挿入する。
[参考]
visual studio 2010 - CUDA __syncthreads() compiles fine but is underlined with red - Stack Overflow:
http://stackoverflow.com/questions/13893919/cuda-syncthreads-compiles-fine-but-is-underlined-with-red
[追記]
これをすると、IntelliSense が効かなくなるようだ。