2011-05-27 32 views
3

到目前爲止,我發現如果定義了__CDT_PARSER__,就可以通過定義它們來防止Eclipse抱怨專有CUDA關鍵字。以下代碼可以防止Eclipse抱怨大多數CUDA關鍵字。CUDA和Eclipse:我如何告訴eclipse <<< (or > >>)是語法的一部分?

// Prevent eclipse from bitching about unknown keywords 
#ifdef __CDT_PARSER__ 
#define __global__ 
#define __device__ 
#define __host__ 
#define __shared__ 
#endif 

然而,這並不與用於配置內核啓動括號工作,因爲我的內核通常有很長的參數列表,這是煩人。有任何想法嗎?

回答

1

這裏是一個將與Eclipse CDT,Visual Studio或Qt Creator中工作的解決方案這是我的解決方案:

#if (defined __CDT_PARSER__) || (defined __INTELLISENSE__) || (defined Q_CREATOR_RUN) 
#define __global__ 
#define __device__ 
#define __host__ 
#define __shared__ 
#define CUDA_KERNEL_DIM(...) 

#else 
#define CUDA_KERNEL_DIM(...) <<<__VA_ARGS__>>> 

#endif 

然後調用內核有:

myKernel CUDA_KERNEL_DIM(gridDim, blockDim) (foo, bar); 
+0

謝謝,想知道爲什麼我無法弄清楚自己。 – Nils 2011-06-09 16:34:57

0

現在你可以使用新的「 Nsight Eclipse Edition「,它將成爲CUDA Toolkit 5.0的一部分。

相關問題