AlexeyAB
2018-03-19 ced198e9390195875d743d77eadece99c7fd5b38
Fixed gpu_id for DLL/SO
1 files modified
12 ■■■■■ changed files
src/yolo_v2_class.cpp 12 ●●●●● patch | view | raw | blame | history
src/yolo_v2_class.cpp
@@ -54,11 +54,12 @@
    detector_gpu_t &detector_gpu = *static_cast<detector_gpu_t *>(detector_gpu_ptr.get());
#ifdef GPU
    check_cuda( cudaSetDevice(gpu_id) );
    printf(" Used GPU %d \n", gpu_id);
    //check_cuda( cudaSetDevice(cur_gpu_id) );
    cuda_set_device(cur_gpu_id);
    printf(" Used GPU %d \n", cur_gpu_id);
#endif
    network &net = detector_gpu.net;
    net.gpu_index = gpu_id;
    net.gpu_index = cur_gpu_id;
    //gpu_index = i;
    
    char *cfgfile = const_cast<char *>(cfg_filename.data());
@@ -69,7 +70,7 @@
        load_weights(&net, weightfile);
    }
    set_batch_network(&net, 1);
    net.gpu_index = gpu_id;
    net.gpu_index = cur_gpu_id;
    layer l = net.layers[net.n - 1];
    int j;
@@ -109,7 +110,8 @@
    int old_gpu_index;
#ifdef GPU
    cudaGetDevice(&old_gpu_index);
    cudaSetDevice(detector_gpu.net.gpu_index);
    //cudaSetDevice(detector_gpu.net.gpu_index);
    cuda_set_device(detector_gpu.net.gpu_index);
#endif
    free_network(detector_gpu.net);