Я использовал Visual Studio 2008 для компиляции и запуска приложений CUDA раньше. Я перешел на Visual Studio 2010 и Windows 7. Я пытался настроить интеграцию все утро, но не добился полного успеха. Я скачал инструментарий, установил Nsight, удостоверился, что пути к библиотекам / include / bin установлены, установил флажок для использования настройки сборки CUDA 3.2 и установил свойства отдельного файла .cu типа CUDA C / C ++ вместо C / C ++. Я получил сообщение об ошибке поддержки компилятора v100, поэтому я установил платформу проекта на v90 и сейчас загружаю Visual Studio 2008. Я надеялся, что мне не нужно будет устанавливать две версии visual studio, ну да ладно. В любом случае, большая часть подсветки синтаксиса включена, некоторые ключевые слова, такие как «int», синего цвета, комментарии зеленого цвета, а строки красного цвета. Однако специфичные для cuda ключевые слова, такие как __ global__, не являются. Кроме того, я проверил каталоги include и не могу найти cutil.h, поэтому мне интересно, есть ли что-то еще, что не было включено в установку 3.2 SDK (вместо этого я включил cuda_runtime.h, но Я не знаю, решит ли это мои проблемы). Кто-нибудь знает как это исправить?
Редактировать: у меня установлена Visual Studio 2008. Когда я пытаюсь скомпилировать, я получаю огромный список ошибок, начиная с 1> C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ include \ crtdefs.h (490): ошибка: недопустимая переопределение имени типа "size_t", в то время как большинство следующих ошибок имеют дело с типом size_t. Все ошибки находятся во включенных файлах, большинство из которых я никогда не видел. Кто-нибудь знает, что происходит? Или, если есть простое пошаговое руководство по использованию VS2010 для использования cuda?
Редактировать 2: Очевидно, у меня была одна из многих текущих настроек как 64-битная, а остальные как 32-битная. Изменение активной конфигурации, Cuda C / C ++ Target Machine Platform и Linker | Advanced Target Machine на 32-разрядную или 64-разрядную версию позволило мне скомпилировать и запустить. Я до сих пор не знаю, как исправить __ global__ и такое выделение синтаксиса, но это не такая уж большая проблема.