CUDA и Eclipse: Как я могу сказать Eclipse, что <<< (или >>>) является частью синтаксиса? - PullRequest
3 голосов
/ 27 мая 2011

До сих пор я выяснил, что Eclipse может не жаловаться на собственные ключевые слова CUDA, определяя их, если определено __CDT_PARSER__.Следующий код не позволяет Eclipse жаловаться на большинство ключевых слов CUDA.

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

Это, однако, не работает с скобками, используемыми для настройки запуска ядра, поскольку мои ядра обычно имеют длинные списки аргументов, это раздражает.Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 июня 2011

Вот решение, которое будет работать с 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 голосов
/ 23 мая 2012

Теперь вы можете использовать новую версию Nsight Eclipse Edition, которая будет частью CUDA Toolkit 5.0 и далее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...