5 октября 2011 г.

Поддержка IntelliSense для CUDA в Visual Studio 2010

Чтобы начать разработку приложения на базе технологии CUDA, нужно выполнить ряд предустановок. Однако первое, с чем сталкивается разработчик, приступая к разработке, это отсутствие поддержки IntelliSense и статического анализа кода. Ниже приводится описание того, как можно решить данную проблему, сделав работу с CUDA намного приятней.

StaticCodeAnalysis

Во-первых, нужно добавить расширение “.cu” в список известных расширений. Этот список доступен в диалоге настроек Visual Studio 2010, на вкладке Tools / Options / Projects and Solutions / VC++ Project Settings / Extensions To Include.

CudaExtensionsToInclude

Во-вторых, в свойствах проекта следует указать путь к заголовочным файлам CUDA, который будет использовать статический анализатор. Для этого список Configuration Properties / VC++ Directories / Include Directories дополняется значением $(CUDA_INC_PATH).

CudaIncludeDirectories

Далее следует добавить ключевые слова CUDA в пользовательский словарь ключевых слов Visual Studio 2010. Словарь ключевых слов CUDA находится в файле usertype.dat, который можно найти здесь:

C:\Users\<USER>\AppData\Local\NVIDIA Corporation\NVIDIA GPU Computing SDK <VERSION>\C\doc\syntax_highlighting\visual_studio_8\usertype.dat (если SDK установлен только для пользователя <USER>)

или здесь:

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK <VERSION>\C\doc\syntax_highlighting\visual_studio_8\usertype.dat (если SDK установлен для всех пользователей)

Все, что нужно сделать, это скопировать данный файл в каталог, в который установлена Visual Studio 2010:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE

После перезапуска IDE ключевые слова будут подсвечены соответствующим образом. (Если у вас уже существует файл usertype.dat, дополните его содержимым вышеуказанного файла.)

Наконец, в файлах с расширением “.cu” нужно добавить ссылки на необходимые заголовочные файлы. Ниже приведен минимально необходимый набор:

#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>

Последнее позволяет указать анализатору кода место, в котором определены ключевые слова CUDA: __global__, __device__ и д.р.

SuccessStaticCodeAnalysis

2 коммент.:

Niceblack комментирует...

Делал как тут, но подсветки не было, пока не догадался посмотреть в readme.txt с usertype.dat.

Надо ещё сделать так:
Выбрать меню "Tools->Options...". Открыть пункт "Text Editor" слева, и нажать "File Extension". Ввести cu в "Extension", выбрать "Microsoft Visual C++" и нажать "Add". Потом "OK".

regis комментирует...

огромное спасибо!! очень помогло!

Отправить комментарий