Ask Your Question

Revision history [back]

opencv 2410 cascade_gpu corrupt

image description

hi .guys when i use this model to detect obj, the first time i run it is ok then if i release this cascade_gpu model and renew allocate it, it would break like the picture show.

i trace the source code and found it break here : template <bool tbdosqr,="" class="" t_in,="" class="" t_out=""> NCVStatus scanRowsWrapperDevice(T_in *d_src, Ncv32u srcStride, T_out *d_dst, Ncv32u dstStride, NcvSize32u roi) { cudaChannelFormatDesc cfdTex; ........ scanRows <t_in, t_out,="" tbdosqr=""> <<<roi.height, num_scan_threads,="" 0,="" nppstgetactivecudastream()&gt;&gt;&gt;="" (d_src,="" (ncv32u)alignmentoffset,="" roi.width,="" srcstride,="" d_dst,="" dststride);<="" p="">

ncvAssertCUDALastErrorReturn(NPPST_CUDA_KERNEL_EXECUTION_ERROR);

return NPPST_SUCCESS;

}

and i compare the codes between 2410 and 2413 and found difference in scanRows founction.but recompile the opencv_gpu2410.lib still can not fix this problem.

could anyone please tell me the way out?

click to hide/show revision 2
None

updated 2018-07-17 23:45:47 -0600

berak gravatar image

opencv 2410 cascade_gpu corrupt

image description

hi .guys when i use this model to detect obj, the first time i run it is ok then if i release this cascade_gpu model and renew allocate it, it would break like the picture show.

i trace the source code and found it break here : :

template <bool tbdosqr,="" class="" t_in,="" class="" t_out="">
tbDoSqr, class T_in, class T_out>
NCVStatus scanRowsWrapperDevice(T_in *d_src, Ncv32u srcStride,
                                T_out *d_dst, Ncv32u dstStride, NcvSize32u roi)
{
    cudaChannelFormatDesc cfdTex;
........
    scanRows
        <t_in, t_out,="" tbdosqr="">
<T_in, T_out, tbDoSqr>
        <<<roi.height, num_scan_threads,="" 0,="" nppstgetactivecudastream()&gt;&gt;&gt;="" (d_src,="" (ncv32u)alignmentoffset,="" roi.width,="" srcstride,="" d_dst,="" dststride);<="" p="">

NUM_SCAN_THREADS, 0, nppStGetActiveCUDAstream()>>>
        (d_src, (Ncv32u)alignmentOffset, roi.width, srcStride, d_dst, dstStride);

    ncvAssertCUDALastErrorReturn(NPPST_CUDA_KERNEL_EXECUTION_ERROR);

 return NPPST_SUCCESS;
}

}

and i compare the codes between 2410 and 2413 and found difference in scanRows founction.but recompile the opencv_gpu2410.lib still can not fix this problem.

could anyone please tell me the way out? out?