2015-03-06

Visual Studio で CUDA のソースコード編集時の赤い波線を消す

[注意]
この方法は副作用があるようなので、おすすめはしない。

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 が効かなくなるようだ。