Supporting CUDA syntax in VS 2010

October 05, 2011

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

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

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

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

C:\Users<USER>\AppData\Local\NVIDIA Corporation\NVIDIA GPU Computing SDK \C\doc\syntax_highlighting\visual_studio_8\usertype.dat

или здесь (если SDK установлен для всех пользователей):

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK \C\doc\syntax_highlighting\visual_studio_8\usertype.dat

Все, что нужно сделать, это скопировать данный файл в каталог, в который установлена 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___ и д.р.

Ссылки