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

#cuda

#cuda

Вопрос:

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

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

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

Однако, похоже, я не могу делать оба одновременно — я не могу создать 64-разрядное приложение CUDA. Если я изменю набор инструментов платформы приложения CUDA на Windows7.1SDK, независимо от того, является ли платформа активного решения x64 или Win32, я получаю ошибку компиляции, которая nvcc.exe завершается с кодом -1. И если я оставлю набор инструментов платформы установленным на v100 и изменю платформу активного решения на x64, я получаю ошибку компиляции «fatal error LNK1104: не удается открыть файл ‘kernel32.lib’. Единственная комбинация, которая работает, — это v100 и Win32, и, очевидно, это мешает мне запускать 64-разрядные приложения.

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

Комментарии:

1. Вы установили 64-разрядный CUDA Toolkit и 64-разрядный CUDA SDK? Если да, можете ли вы создать и запустить образцы SDK для x64?

2. Я определенно установил 64-разрядные версии как инструментария, так и SDK. Я не пытался запускать образцы, я запускал свой собственный код, но я попробую образцы.

Ответ №1:

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

Ответ №2:

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