Как создавать 64-битные приложения CUDA? (Win7 x64, CUDA 4, VS 2010 Express) - PullRequest
2 голосов
/ 08 октября 2011

Я в основном настроен на разработку CUDA. Я установил драйверы разработчика, инструментарий CUDA 4.0 и SDK 4.0, а также исправление. Я использую Windows 7 x64 и использую Visual C ++ 2010 Express. Для 32-разрядных приложений я выполняю следующие шаги, и мои приложения CUDA работают правильно.

  • Создать новый пустой проект
  • убедитесь, что Platform Toolset установлен на v100 (обычно по умолчанию)
  • проверьте настройку сборки CUDA 4.0 для проекта
  • установить тип элемента моего .cu файла на CUDA C / C ++
  • добавить 'cudart.lib' в Свойства-> Компоновщик-> Ввод-> Дополнительные зависимости

Я также могу запускать не-CUDA 64-битные приложения. Visual C ++ 2010 Express не поставляется с 64-разрядными зависимостями автоматически, поэтому мне пришлось установить Windows 7.1 SDK с .NET Framework 4.0. Затем я просто установил набор инструментов платформы для проекта VC ++ на Windows7.1SDK, изменил платформу Active Solution на x64, и все готово.

Однако я не могу сделать оба одновременно - я не могу создать 64-битное приложение CUDA. Если я изменю набор инструментов платформы приложения CUDA на Windows7.1SDK, независимо от того, будет ли платформа активного решения x64 или Win32, я получу ошибку компиляции, из-за которой nvcc.exe завершил работу с кодом -1. И если я оставляю Platform Toolset установленным на v100 и меняю платформу Active Solution на x64, я получаю ошибку компиляции "фатальная ошибка LNK1104: не могу открыть файл 'kernel32.lib'. Единственная работающая комбинация - это v100 и Win32, и, очевидно, это мешает мне запустить 64-битное приложение.

Существует ли процедура для включения этой функции, которую я просто не смог найти в Интернете? Есть идеи или предложения? Спасибо за ваше время.

Ответы [ 2 ]

2 голосов
/ 23 января 2013

Невозможно в Express Edition, (не поддерживает плагины), если вы не хотите настраивать nvcc вручную и использовать блокнот для записи файлов cu, я очень предпочитаю интеграцию VS.

1 голос
/ 14 октября 2011

Вы можете проверить, что свойства компилятора хоста для файлов .cu установлены на 64-битные. Щелкните правой кнопкой мыши файл «Code.cu» и выберите «Свойства». Разверните пункт «CUDA C / C ++» и выберите «Общий». Измените «Платформу целевой машины» на 64-битную.

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