Hallo zusammen,
ich versuche schon seit einigen Tagen meine GPU in einem LXC mit OpenCV und Cuda zu compilen.
Gibt es eine aktuelle Anleitung (ubuntu 20.04 oder 22.04) welche mir dabei hilft? Im Internet finde ich zig Versionen, nur keine davon hat mich ans Ziel gebracht.
Liegt es daran, dass ich meine GPU (P40 Tesla) Treiber gepatcht habe? (link).
Muss ich Cuda denn auch auf dem Host installieren?
Das compilen lief auch auf 100% durch.
Habe diese beiden (gepatchen) Treiber versucht:
NVIDIA-Linux-x86_64-510.85.03-vgpu-kvm.run
NVIDIA-Linux-x86_64-525.60.12-vgpu-kvm.run
DIese habe ich auch auf dem LXC installiert (--no-kernel-modul)
Cuda Versionen habe ich mehrere durch. Leider finde ich die Nvidia Seite auch sehr unübersichtlich, was denn unterstützt wird. Welche gcc Version etc.
Cudnn Versionen wurden auch viele unterschiedliche versucht.
OpenCV ebenso.
Zum compilen verwende ich diese Einstellungen:
Am Ende funktioniert das compilen wie gesagt schon, allderdings kann ich nie Hardwareunterstützt die GPU verwenden
MIt diesem Befehl sollte eigentlich 1 herausspringen:
Vielen Dank
ich versuche schon seit einigen Tagen meine GPU in einem LXC mit OpenCV und Cuda zu compilen.
Gibt es eine aktuelle Anleitung (ubuntu 20.04 oder 22.04) welche mir dabei hilft? Im Internet finde ich zig Versionen, nur keine davon hat mich ans Ziel gebracht.
Liegt es daran, dass ich meine GPU (P40 Tesla) Treiber gepatcht habe? (link).
Muss ich Cuda denn auch auf dem Host installieren?
Das compilen lief auch auf 100% durch.
Habe diese beiden (gepatchen) Treiber versucht:
NVIDIA-Linux-x86_64-510.85.03-vgpu-kvm.run
NVIDIA-Linux-x86_64-525.60.12-vgpu-kvm.run
DIese habe ich auch auf dem LXC installiert (--no-kernel-modul)
Cuda Versionen habe ich mehrere durch. Leider finde ich die Nvidia Seite auch sehr unübersichtlich, was denn unterstützt wird. Welche gcc Version etc.
Cudnn Versionen wurden auch viele unterschiedliche versucht.
OpenCV ebenso.
Zum compilen verwende ich diese Einstellungen:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_ARCH_BIN=6.1 \
-D WITH_CUBLAS=1 \
-D BUILD_TESTS=OFF \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \ ------> mit und ohne versucht
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D HAVE_opencv_python3=ON \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D PYTHON2_EXECUTABLE=/usr/bin/python2 \
-D BUILD_EXAMPLES=ON ..
Am Ende funktioniert das compilen wie gesagt schon, allderdings kann ich nie Hardwareunterstützt die GPU verwenden
MIt diesem Befehl sollte eigentlich 1 herausspringen:
Hier erscheint entweder -1 (verschiedene Treiber?) oder aber folgender Fehler:import cv2
count = cv2.cuda.getCudaEnabledDeviceCount()
print(count)
Deshalb noch einmal die Frage, an was das liegt und/oder hat mir jemand eine aktuelle Anleitung?Traceback (most recent call last):<br/>
File "stdin", line 1, in module> <br/>
cv2.error: OpenCV(4.7.0) /home/*****/opencv-4.7.0/modules/core/src/cuda_info.cpp:62: error: (-217:Gpu API call) unknown error in function 'getCudaEnabledDeviceCount'
Vielen Dank