CUDA в Visual Studio 2008 на Win7 x64

Доброго времени суток.
Уже который день пытаюсь запустить любой пример, использующий Cuda, и никак.
Облазил кучу сайтов (в том числе англоязычных) и не смог найти развернутого варианта пошагового описания действий по установке всех прог и запуска.
Установлено: дрова, ВС2008, СДК 2.3, Тулс 2.3 и CUDA_VS_Wizard W64.2.2.beta2
Как я понимаю в любом случае нужно прописывать пути в настройках Visual Studio.
Исполняемые файлы C:\CUDA\bin64
Включаемые файлы C:\CUDA\include
Файлы библиотек C:\CUDA\lib64
а так же Проект-Свойства-Свойства конфигурации-Компоновщик-Ввод cudart.lib cutil64D.lib
там же Общие $(CUDA_LIB_PATH);$(NVSDKCOMPUTE_ROOT)\C\common\lib - или тут не так ?

Проект CudaWinApp сделать могу, но запустить даже sample.cu не получается: пишет что нету cutil64D, хотя он есть, видимо где то еще надо прописать путь, и возможно не раз.

Мог бы кто-нибудь потратить 15 минут и по пунктам написать что и как делать, и тогда надеюсь хоть одно четкое описание на русском языке появится в интернете!
Заранее спасибо =)

Forums: 

Помогите настроить ВС.

Помогите настроить ВС. установил все как писали в инструкции тулкит 64, СДК 64, ВС2008. но у меня нету папки C:\CUDA\bin64 а во время перестроения проекта пишет

Ошибка 1 fatal error LNK1104: не удается открыть файл ''.\Debug\kur.cu.obj'' pr

Предупреждение 2 Не найдены следующие переменные среды:
$(NVSDKCUDA_ROOT) Проект

перед этим писало что не может найти cutil64D.lib. я зашел в lib, там ее действительно нету нашел вручную она была подписана cUtil64D.lib я ее перейменовал и скопировал у lib ошибка убралось но теперь появилась выше-описанная .

Настройка

1. Нельзя менять просто так названия либ! одна для релиза - другая для дебага.
2. Вы не написали какая платформа.
3. Не забывайте в настройках проекта прописывать входные параметры для линковщика.
Я на win7 64bit все делал. Но думаю мало от XP отличается. Сначала ставил Parallel Nsight, затем toolkit а затем sdk( именно в нем идет cutil - nvidia от него открещивается, это сторонняя либа). Естественно все под 64bit. Еще очень полезно скачать визард для проектов cuda под VS2008.
Кстати, на VS должен стоять сервис пак 1.
Далее я только добавлял в настройках пути к либам sdk и тулкита, пути к их include ну и на всяк пути к бинарникам. Все работает с пол тычка!
Еще на сайте nvidia нашел что у них отдельной скачкой идут новые правила сборки - их тоже желательно скачать и заменить в нужном каталоге.
Удачи!
Винда это не kubuntu, уж там я помучался....

>> Проект CudaWinApp сделать

>> Проект CudaWinApp сделать могу, но запустить даже sample.cu не получается: пишет что нету cutil64D

CUDA_SDK/C/bin/win64/Debug ?
Ну или собирайте в релизе. cutil64.dll точно есть, даже если установка неправильная.

как то так

Sergei_f
>> CUDA_SDK/C/bin/win64/Debug ?
да, там файл то есть, а толку, везде перепроверял пути, вроде все ок, хотя не уверен, раз не работает (
>> Ну или собирайте в релизе. cutil64.dll точно есть, даже если установка неправильная.
а поподробнее пожалуйста )

Tonhead
по поводу ссылки - там я уже сто раз был и не только там, к сожалению не помогает, подчеркну что винда 7 64

хотелось бы подробного описания что делать, потому что совсем уже запутался и чем дальше пытаюсь что то сделать тем хуже (((

У меня Win7 32 битная.

У меня Win7 32 битная. Поставил вчера vs2008. Создал чистый консольный win32 проект (пустой). Добавил файл main.cpp. Добавил файл kernel.cu. При этом появилось окошко - создать ли новое правило, сказал нет. Правой кнопкой на проекте, пункт "custom build rules". Там выбрал CUDA Build Rule v2.3 (предварительно скопировав файл cuda.rules из папки с sdk cuda в папку где vs2008 установлена, где другие .rules файлы лежат).
Далее - ввел ключи как в посте про который я тут писал, а так же (забыл там указать) в пункт c/c++ > general > additional include directories добавил $(CUDA_INC_PATH).
После этого программа компилируется и собирается, правда у меня не запустилась - несоответствие версий cuda и cudart, нужно toolkit обновить вроде (не работаю на этой машине).

дальше больше

Скопировал cutil64D.dll в папку CUDA\bin64 и пример стал запускаться при создании CUDAWinApp Console application с Precompiled header, в свойствах кстати вкладки с/с++ нету почему то.
Причем у меня помимо 2.3 есть CUDA Build Rule v3.0 - его и выбираю всегда.
Сейчас буду пробовать примеры запустить.
Был бы очень признателен если кто-нибудь поделится готовой проги сложения матриц например. Или еще какой чтобы посмотреть разницу между обычными расчетами и Cuda.
Если будет работать с удовольствием напишу последовательность действий от начала и до конца чтобы все работало для новеньких, а то очень сложно с нуля начинать. =)

вкладки C/C++ нет, потому что

вкладки C/C++ нет, потому что cpp файлов нет :) Добавите -- появится.

У меня вообще нет cutil64D.dll. Почему-то, если указываешь не дефолтный путь установки, папки emuDebug и Debug пусты. Может быть и в чем-то другом дело, конечно. Но я все равно отлаживаю с помощью отладочного вывода, так что мне они не нужны.

Так там же в примерах есть matMult, например. Если вместо 8, 5, 3 обычных поставить 512, 256, 256, то на gpu отрабатывается довольно быстро, а вот на процессоре core i7 я не дождался результата.

=)

>> вкладки C/C++ нет, потому что cpp файлов нет
а, ну да )))
>> Так там же в примерах есть matMult, например
о, не заметил, спасибо )

)) блин я ж офигел и правда

)) блин я ж офигел и правда без срр нет вкладки с/с++ )), уже начал думать от какую то "подливу" скачал

Установка и запуск Cuda в Visual Studio 2008

И так, последовательность такая:
1. Скачиваем и устанавливаем
а. драйвера видеокарты.
б. Visual Studio 2008.
в. Cuda Toolkit (с сайта Nvidia)
г. Cuda SDK (с сайта Nvidia)
д. CUDA VS Wizard (http://sourceforge.net/projects/cudavswizard/files/) кстати так и не понял нужно или нет, но устанавливал.
Тулкит, сдк и визард той версии винды какая стоит (32 или 64).

2. Теперь к настройкам уже внутри Visual Studio.
копируем файлы cutil64D.dll (делал на 64 финде, поэтому возможно в 32 не надо) и Cuda.Rules так, чтобы они были в двух местах
а. cutil64D.dll
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\bin\win64\Debug
C:\CUDA\bin64
б. Cuda.Rules
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\common
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCProjectDefaults

3. После того как открыли, сделали проект нужно настроить его
а. Проект-Польз правила построения-CUDA Build Rule v3.0 (ставим галочку)
б. Проект-Свойства-c/c++-Общие-Доп каталоги включения-
$(CUDA_INC_PATH)
в. Проект-Свойства-Компоновщик-общие-Доп каталоги библиотек-
$(CUDA_LIB_PATH);$(NVSDKCUDA_ROOT)\common\lib
г. Проект-Свойства-Компоновщик-Ввод-Доп зависимости-
cudart.lib cutil64D.lib (в 32 конечно cutil32D.lib)
д. Проект-Свойства-CUDA Build Rule v3.0-General-Additional include directories-
$(NVSDKCUDA_ROOT)\common\inc;$(CUDA_INC_PATH)
Проект нужно перестроить и смотрите чтобы платформа была х64 (если в 64 делаете), в свойствах вверху, если же нет то смените или настройте в диспетчере конфигураций рядом.
При выборе CUDA Build Rule иногда в свойствах не появляется вкладка для пункта д (у меня по крайней мере), нужно снять галочку, Ок и потом снова войти и поставить.
Пункт 3 нужно делать для каждого проекта.

Собственно все, возможно что то лишнее тут есть, но по крайней мере все работает.
П.С. сорри за рус версию Visual Studio (какая есть =)), пишите если что то не так или как сделать лучше.

делаю всё в точности так

делаю всё в точности так же.
выполняю построение matrixmul, ругается на отсутствие crtdefs.h и
Не найдены следующие переменные среды:
1>$(NVSDKCUDA_ROOT)

где их взять и куда положить?

Спасибо за подробное

Спасибо за подробное описание.
Но почему то после выполнения всех вышеперечисленных инструкций, при запуске выдает ошибку: не найден cutil64D.dll, хотя файл этот есть . Помогите пожалуйста

Странная у вас проблема. У

Странная у вас проблема. У меня на Win7х64 все само заработало, то есть примеры из SDK компилируются и запускаются.
Последовательность нужно соблюдать
Первым должен быть установлен Visual Studio 2008.
После установки Toolkit можно зайти в C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\extras\visual_studio_integration и почитать NvCudaRules.README.TXT
Ну и сделать как там написано. Рули положить куда надо, в реестр запись внести.
Визард не обязателен. Без него только в новых проектах Visual Studio 2008 не будет проекта CUDA. Но так как редко кто начинает с ноля, чаще берут готовый проект и его модифицируют, то это несущественно.

То что в SDK файлы солюшен для 2008 с 9 а не с 8 это наверное и так все знают.

спасибо за советы. я пришел к

спасибо за советы.
я пришел к выводу что студия криво установлена, потому что после скачивания этого h файла стали просится другие. с подозрительно стандартными названиями типа string, math.
попробую удалить все. и переустановить с нуля.