From 0cb81e5f50ab396726a334784db308025d74c2b7 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Sun, 07 Jan 2018 17:44:04 +0000
Subject: [PATCH] Some stream fixes

---
 src/yolo_v2_class.cpp |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/yolo_v2_class.cpp b/src/yolo_v2_class.cpp
index 1777aa2..88d2bc1 100644
--- a/src/yolo_v2_class.cpp
+++ b/src/yolo_v2_class.cpp
@@ -34,7 +34,7 @@
 };
 
 
-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)
 {
 	int old_gpu_index;
 #ifdef GPU
@@ -178,7 +178,8 @@
 	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);
 #endif
 	//std::cout << "net.gpu_index = " << net.gpu_index << std::endl;
 
@@ -242,7 +243,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