Так что я успешно работал над своей программой CUDA в своем Linux, но я хотел бы поддержать платформу Windows. Тем не менее, я боролся с правильным составлением. Я использую: < /p>
Windows 10 < /li>
cmake 3.15 < /li>
Visual Studio 2017 < /li>
cuda toolkit 10.1 < /li>
< /ul>
при использовании старой устаревшей поддержки Cmake cuda с использованием find_package (Cuda 10.1 требуется) он правильно сообщает о правильном пути к инструментарию при его использовании. Тем не менее, я понимаю, что последний Cmake больше не поддерживает старый метод, и что CUDA_ADD_LIBRARY и т. Д. Больше не связывается. Итак, я переформатировал свой файл 'cmakelists.txt' в следующее, основываясь на этом: < /p>
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
project(myproject LANGUAGES CXX CUDA)
add_library(mylib SHARED mycudalib.cu)
# My code requires C++ 11 for the CUDA library, not sure which ones of these
# will do the trick correctly. Never got the compiler this far.
target_compile_features(mylib PUBLIC cxx_std_11)
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CUDA_STANDARD 11)
set_target_properties( mylib PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
add_executable(test_mylib test.cpp)
target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
< /code>
Однако я получаю следующую ошибку из строки 2: < /p>
CMake Error at C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:345 (message):
No CUDA toolset found.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:32 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCUDACompiler.cmake:72 (CMAKE_DETERMINE_COMPILER_ID)
CMakeLists.txt:2 (project)
< /code>
Я попробовал вариацию предложений в Интернете, таких как добавление следующего в Cmakelists.txt ': < /p>
set(CMAKE_CUDA_COMPILER "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc")
или добавление следующей переменной в Cmake:
< /p>
Это файл 'cmakelists.txt', который я использую в Linux для успешной компиляции. Разница в том, что я использую Cmake 3.5 и Cuda Toolkit 9.0: < /p>
cmake_minimum_required(VERSION 3.5)
project( myproject)
find_package(CUDA 9.0 REQUIRED)
if(CUDA_FOUND)
list(APPEND CUDA_NVCC_FLAGS "-std=c++11")
endif(CUDA_FOUND)
cuda_add_library(mylib SHARED mycudalib.cu)
cuda_add_executable(test_mylib test.cpp)
target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
Подробнее здесь: https://stackoverflow.com/questions/566 ... lset-found
Проблемы с компиляцией CUDA в Windows, Cmake Ошибка: набор инструментов CUDA не найден ⇐ C++
Программы на C++. Форум разработчиков
1740042942
Anonymous
Так что я успешно работал над своей программой CUDA в своем Linux, но я хотел бы поддержать платформу Windows. Тем не менее, я боролся с правильным составлением. Я использую: < /p>
Windows 10 < /li>
cmake 3.15 < /li>
Visual Studio 2017 < /li>
cuda toolkit 10.1 < /li>
< /ul>
при использовании старой устаревшей поддержки Cmake cuda с использованием find_package (Cuda 10.1 требуется) он правильно сообщает о правильном пути к инструментарию при его использовании. Тем не менее, я понимаю, что последний Cmake больше не поддерживает старый метод, и что CUDA_ADD_LIBRARY и т. Д. Больше не связывается. Итак, я переформатировал свой файл 'cmakelists.txt' в следующее, основываясь на этом: < /p>
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
project(myproject LANGUAGES CXX CUDA)
add_library(mylib SHARED mycudalib.cu)
# My code requires C++ 11 for the CUDA library, not sure which ones of these
# will do the trick correctly. Never got the compiler this far.
target_compile_features(mylib PUBLIC cxx_std_11)
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CUDA_STANDARD 11)
set_target_properties( mylib PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
add_executable(test_mylib test.cpp)
target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
< /code>
Однако я получаю следующую ошибку из строки 2: < /p>
CMake Error at C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:345 (message):
No CUDA toolset found.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake:32 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
C:/Program Files/CMake/share/cmake-3.15/Modules/CMakeDetermineCUDACompiler.cmake:72 (CMAKE_DETERMINE_COMPILER_ID)
CMakeLists.txt:2 (project)
< /code>
Я попробовал вариацию предложений в Интернете, таких как добавление следующего в Cmakelists.txt ': < /p>
set(CMAKE_CUDA_COMPILER "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc")
или добавление следующей переменной в Cmake:
< /p>
Это файл 'cmakelists.txt', который я использую в Linux для успешной компиляции. Разница в том, что я использую Cmake 3.5 и Cuda Toolkit 9.0: < /p>
cmake_minimum_required(VERSION 3.5)
project( myproject)
find_package(CUDA 9.0 REQUIRED)
if(CUDA_FOUND)
list(APPEND CUDA_NVCC_FLAGS "-std=c++11")
endif(CUDA_FOUND)
cuda_add_library(mylib SHARED mycudalib.cu)
cuda_add_executable(test_mylib test.cpp)
target_link_libraries(test_mylib mylib ${CUDA_CUFFT_LIBRARIES})
Подробнее здесь: [url]https://stackoverflow.com/questions/56636714/cuda-compile-problems-on-windows-cmake-error-no-cuda-toolset-found[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия