CUDA-Kompilierung inOpenCV in Arch Linux

674
José Jácome

Ich versuche, Programme in OpenCV 3.2.0 mit CUDA zu kompilieren, ich habe eine Grafikkarte Nvidia Gforce 950M (Maxwell) und verwende Arch Linux

Zunächst hatte ich auf Arch Linux X64 die neuesten Versionen von Nvidia, Nvidia-Settings, gcc-5 und cuda installiert

Auf Cmake wähle ich gcc-5 für die Kompilierung und meine Cmake-Kompilierungsdatei für CUDA

BUILD_CUDA_STUBS=ON BUILD_opencv_cudaarithm=ON BUILD_opencv_cudabgsegm=ON BUILD_opencv_cudacodec=ON BUILD_opencv_cudafeatures2d=ON BUILD_opencv_cudafilters=ON BUILD_opencv_cudaimgproc=ON BUILD_opencv_cudalegacy=ON BUILD_opencv_cudaobjdetect=ON BUILD_opencv_cudaoptflow=ON BUILD_opencv_cudastereo=ON BUILD_opencv_cudawarping=ON CUDA_ARCH_BIN = 5.0 5.2 CUDA_ARCH_PTX = CUDA_FAST_MATH = ON CUDA_GENERATION = Maxwell CUDA_HOST_COMPILER = /usr/bin/gcc-5 CUDA_SEPARABLE_COMPILATION = OFF CUDA_TOOLKIT_ROOT_DIR = /opt/cuda WITH_CUDA = ON 

(Werte aus dem Bild der Cmake-GUI)

Nach der Kompilierung von OpenCV lade ich die Bibliotheken in QT Creator

 TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt  SOURCES += main.cpp  unix:!macx: LIBS += -L$$PWD/../../../../usr/local/lib/ -lopencv_cudaarithm -lopencv_cudabgsegm -lopencv_cudacodec -lopencv_features2d -lopencv_cudafilters -lopencv_cudaimgproc -lopencv_cudalegacy -lopencv_cudaobjdetect -lopencv_cudaoptflow -lopencv_cudastereo -lopencv_cudawarping -lopencv_videoio  INCLUDEPATH += $$PWD/../../../../usr/local/include DEPENDPATH += $$PWD/../../../../usr/local/include    unix:!macx: LIBS += -L$$PWD/../../../../usr/local/lib/ -lopencv_core -lopencv_objdetect -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs  INCLUDEPATH += $$PWD/../../../../usr/local/include DEPENDPATH += $$PWD/../../../../usr/local/include  INCLUDEPATH += /opt/cuda/include/ LIBS += -L /opt/cuda/include/    unix:!macx: LIBS += -L$$PWD/../../../../opt/cuda/lib64/ -lcudart  INCLUDEPATH += $$PWD/../../../../opt/cuda/lib64 DEPENDPATH += $$PWD/../../../../opt/cuda/lib64 

Ich versuche die cascadeclassifier_nvidia_api.cpp zu kompilieren, aber ich habe den folgenden CUDA-Fehler :

NCV Assertion Failed: No GPU found or the library is compiled without CUDA support, file = ../CUDA/main.cpp, line=163 

Was mache ich falsch?

0
Können Sie `lspci | ausführen? grep -i nvidia` und überprüfen, ob die Karte erkannt wird? Auch AFAIK [Arch ist kein unterstütztes Betriebssystem für die CUDA-Gruppe.] (Http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#axzz4YAF1BtWc) JMY1000 vor 7 Jahren 0
Vielen Dank für Ihre Rückmeldung, es ist meine Befehlsausgabe "[josejacomeb @ lenovo-idepad-700 release] $ sudo lspci | grep -i nvidia 01: 00.0 3D-Controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (Version A2) `, Ich habe einige Lösungen ausprobiert und wenn ich mit g ++ - 5 kompiliere, kann ich den Fehler vermeiden José Jácome vor 7 Jahren 1

0 Antworten auf die Frage