From 9449156e6d95a672ba3c08f9d7d71bbb75f1a311 Mon Sep 17 00:00:00 2001
From: Alexey <AlexeyAB@users.noreply.github.com>
Date: Wed, 17 Jan 2018 23:12:31 +0000
Subject: [PATCH] Added test-compile with: LIBSO=1 GPU=0 CUDNN=0 OPENCV=0 -j 8
---
src/yolo_v2_class.cpp | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/yolo_v2_class.cpp b/src/yolo_v2_class.cpp
index 1777aa2..518ea65 100644
--- a/src/yolo_v2_class.cpp
+++ b/src/yolo_v2_class.cpp
@@ -34,8 +34,9 @@
};
-YOLODLL_API Detector::Detector(std::string cfg_filename, std::string weight_filename, int gpu_id)
+YOLODLL_API Detector::Detector(std::string cfg_filename, std::string weight_filename, int gpu_id) : cur_gpu_id(gpu_id)
{
+ wait_stream = 0;
int old_gpu_index;
#ifdef GPU
cudaGetDevice(&old_gpu_index);
@@ -172,13 +173,15 @@
YOLODLL_API std::vector<bbox_t> Detector::detect(image_t img, float thresh, bool use_mean)
{
-
detector_gpu_t &detector_gpu = *reinterpret_cast<detector_gpu_t *>(detector_gpu_ptr.get());
network &net = detector_gpu.net;
int old_gpu_index;
#ifdef GPU
cudaGetDevice(&old_gpu_index);
- cudaSetDevice(net.gpu_index);
+ if(cur_gpu_id != old_gpu_index)
+ cudaSetDevice(net.gpu_index);
+
+ net.wait_stream = wait_stream; // 1 - wait CUDA-stream, 0 - not to wait
#endif
//std::cout << "net.gpu_index = " << net.gpu_index << std::endl;
@@ -242,7 +245,8 @@
free(sized.data);
#ifdef GPU
- cudaSetDevice(old_gpu_index);
+ if (cur_gpu_id != old_gpu_index)
+ cudaSetDevice(old_gpu_index);
#endif
return bbox_vec;
--
Gitblit v1.10.0