Merge pull request #11483 from nglee:dev_cudaCannyStreamIssue
authorNamgoo Lee <lee.namgoo@sualab.com>
Wed, 9 May 2018 20:44:34 +0000 (05:44 +0900)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Wed, 9 May 2018 20:44:34 +0000 (23:44 +0300)
commited86bd34b190b2d6dba3f8bccd6070f0e5062b93
tree6a803d6a93acee738ef4500dc6421cd8405af276
parent959a12cbac98414aac45b50c16d4fb9c1d7429ad
Merge pull request #11483 from nglee:dev_cudaCannyStreamIssue

cuda_canny : multi stream safety (#11483)

* CUDA_ImgProc/Canny Asynchronous test

* cuda_canny : multi stream safety (1/3)

- Convert global variable canny::counter to class local variable

* cuda_canny : multi stream safety (2/3)

- Use texture objects rather than texture reference for cc >= 3.0,
  since texture reference must be declared as a static global variable
  which results in race condition when ran concurrently

* cuda_canny : multi stream safety (3/3)

- Refrain from using global variable in row_filter and column_filter
  (converts column_filter::c_kernel and row_filter::c_kernel to local
  variables)

* Fixes #11193
modules/cudafilters/src/cuda/column_filter.hpp
modules/cudafilters/src/cuda/row_filter.hpp
modules/cudaimgproc/src/canny.cpp
modules/cudaimgproc/src/cuda/canny.cu
modules/cudaimgproc/test/test_canny.cpp