Cuda с Cmake - PullRequest
       21

Cuda с Cmake

0 голосов
/ 22 мая 2018

Я пытаюсь скомпилировать существующий проект CMake, используя Cuda v8.0, которую я нашел в Интернете.Для этого я использую версию CMake GUI.(В настоящее время я использую Windows 10 с Visual Studio 2017).Шаг «Настроить» всегда дает мне следующее сообщение об ошибке:

CMAKE_CUDA_COMPILER не может быть найден.

У меня установлена ​​Cuda 8.0 (вместе с другими версиями Cuda, которые яудален с моего пути), CuDNN также на моем пути.И я ожидаю, что в какой-то момент я сгенерирую файлы проекта Visual Studio, которые затем смогу использовать для компиляции проекта ...

Что может вызвать эту ошибку?

РЕДАКТИРОВАТЬ

Послезапрос, я загрузил CMakeOutput.log туда: https://framabin.org/?c532b10d2a4aef54#NkJZItfUfPwMP6BHCiP5DhQS40duM4AhsKR+bWHN0tE=

Ответы [ 2 ]

0 голосов
/ 19 августа 2019

Для меня эта проблема была вызвана тем, что nvcc (версия x64) не поддерживает платформу x86 и была исправлена ​​путем указания платформы для cmake:

$build> cmake .. -G"Visual Studio 15 2017 Win64"
0 голосов
/ 24 мая 2018

Хорошо!С помощью @ raul-laasner я думаю, что у меня есть решение моих проблем!

  1. Первым действительно было то, что моя версия Cuda не была правильно определена.И я не уверен на этом этапе, что он вообще был найден.Мои переменные среды, где, вероятно, также игнорируются.Мне пришлось указать опцию CMAKE_CUDA_COMPILER в «C: / Program Files / NVIDIA GPU Computing Toolkit / CUDA / v8.0 / bin / nvcc.exe».
  2. Тогда проблема заключалась в том, что я былиспользуя слишком последнюю версию Visual Studio.Для начала Cuda v8.0 не совместима с Visual Studio 2017: Cuda 8.0 с Visual Studio 2017 .Но даже с самой последней версией Cuda моя Visual Studio слишком свежа.Значение: NVIDIA отстает, когда дело доходит до версий Visual Studio ... И теперь Microsoft планирует обновить _MSC_VER при большинстве обновлений.Таким образом, у меня было два варианта:

    • Понизить версию Visual Studio до совместимой версии.
    • Использовать более свежую версию Cuda (9.2) и изменить c: \ Program Files \ NVIDIA GPUComputing Toolkit \ CUDA \ v9.2 \ include \ crt \ host_config.h, чтобы изменить верхний предел проверки _MSC_VER.

Используя второй вариант, мне удалосьнастроить и скомпилировать проект.Я не уверен, что у меня не будет проблем с этим «хакерским» способом.Но, по крайней мере, я был на следующем шаге!

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