Ich möchte wissen, wie viel mein Code schneller mit CUDA
, so dass ich kompilieren OpenCV
mit folgenden Schaltern (einschließlich CUDA)opencv Verwendung cuda Speicher ohnehin
cmake CMAKE_BUILD_TYPE=RELEASE \
CMAKE_INSTALL_PREFIX=/usr/local \
WITH_CUDA=ON \
ENABLE_FAST_MATH=1 \
CUDA_FAST_MATH=1 \
WITH_CUBLAS=1 \
INSTALL_PYTHON_EXAMPLES=OFF \
OPENCV_EXTRA_MODULES_PATH=/home/saeed/opencv_contrib/modules \
BUILD_EXAMPLES=OFF ..
und ich bin auf Linux-basierten Maschine und mit dedizierte GPU auf meinem System, so wie ich die GPU-Nutzung für OpenCV-Code messen kann? Ich habe das mit der Verwendung von
$ nvidia-smi
Befehl, der mir gibt allgemeine Informationen über gpu Nutzung und usw. (in bash
).
für Spur dieser Ausgang I
$ watch -n 0.1 nvidia-smi
Befehl verwenden, die Informationen alle 0,1 Sekunden aktualisiert (0,1 Sekunden Minimum)
So habe ich einen Code wie unten in opencv (Sie kann ich don sehen ‚t jede CUDA-Funktion in es verwenden)
#include "opencv2/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace cv;
int main()
{
cv::Mat src(1500,1500,CV_8UC3),res;
for (int var = 0; var < 70; ++var)
{
Canny(src,res,50,150,5);
}
}
Also, wenn ich über Code ausführen ich in meinem nvidia-smi
Seite einen Screenshot nehmen (zu wissen, wie viel gpu rAM verwendet wird)
Wie man dort sehen kann, ist 23 MiB ist im Einsatz !!! Also warum passiert das !! Wenn es normal ist, wie wir das stoppen können? Wie zu stoppen GPU für dieses Problem
Sie sehen eine Änderung der Speichernutzung vor und während Ihres Codes ausgeführt wird? Es kann eine normale Speichernutzung sein. – Aram
Nein, ich erzwinge, dass mein Betriebssystem keine GPU-Ressourcen verwendet, ich füge es meiner Blacklist hinzu Wenn ich keinen Cuda-Code verwende, muss er immer Null sein –
Aber siehst du eine Änderung der Speichernutzung? – Aram