Я пытаюсь заставить CUDA работать с catkin (ros), который по сути является cmake. У меня пока нет файлов .cu. В качестве первого шага я хочу добавить CUDA
в find_package
find_package(catkin REQUIRED COMPONENTS
cv_bridge
image_transport
roscpp
message_generation
CUDA
)
После этого система cmake выдает следующую ошибку:
CMake Error at /opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
Could not find a configuration file for package CUDA.
Set CUDA_DIR to the directory containing a CMake configuration file for
CUDA. The file will have one of the following names:
CUDAConfig.cmake
cuda-config.cmake
Я могу подтвердить, что CUDA в моей системе работает нормально. Я могу успешно запустить образцы cuda: bandwidthTest и deviceQuery. У меня cuda-5.5 в /usr/local/cuda-5.5/
,
[eeuser@roadrunner bin]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2013 NVIDIA Corporation
Built on Wed_Jul_17_18:36:13_PDT_2013
Cuda compilation tools, release 5.5, V5.5.0
Я также могу подтвердить, что с помощью cmake у меня установлена FindCUDA.
[eeuser@roadrunner bin]$ locate FindCUDA
/usr/share/cmake-2.8/Modules/FindCUDA
/usr/share/cmake-2.8/Modules/FindCUDA.cmake
/usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
/usr/share/cmake-2.8/Modules/FindCUDA/parse_cubin.cmake
/usr/share/cmake-2.8/Modules/FindCUDA/run_nvcc.cmake
Это неправильное использование
find_package(catkin REQUIRED COMPONENTS
cv_bridge
image_transport
roscpp
message_generation
CUDA
)
Вместо этого используйте это как —
FIND_PACKAGE(CUDA REQUIRED)
find_package(catkin REQUIRED COMPONENTS
cv_bridge
image_transport
roscpp
message_generation
)