Сборка кода CUDA с использованием современного CMake: как собрать с помощью другого инструментария CUDA - PullRequest
0 голосов
/ 08 апреля 2020

До появления современного CMake CUDA трактовалась как сторонняя библиотека, что делало ее удобной при «кросс-компиляции». Для этого требовалась только библиотека и заголовки набора инструментов cuda, установленного на целевой машине. Теперь я понимаю, что это уже не так просто сделать, потому что команда enable_language(CUDA) сделает дополнительные проверки (и это здорово), и она потерпит неудачу, если у вас будут драйверы, отличные от используемых для сборки. Это верно? Есть ли простой способ сделать такую ​​кросс-компиляцию в современном CMake, или нужно прибегнуть к устаревшему FindCUDA.cmake?

1 Ответ

0 голосов
/ 16 апреля 2020

Начиная с версии CMake> = 16.4, можно выбрать произвольную папку (которую мы будем называть <path-to-folder>) и поместить набор инструментов CUDA (который обычно находится, например, в C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2) в <path-to-folder>/nvcc вместе с Visual Studio файлы интеграции (которые обычно можно найти в C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\visual_studio_integration) в <path-to-folder>/CUDAVisualStudioIntegration/extras/visual_studio_integration, а затем установите в CMake переменную -DCMAKE_GENERATOR_TOOLSET=cuda=<path-to-folder>

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