cuda::StreamAccessor::wrapStream and cuda::EventAccessor::wrapEvent

to import existed CUDA stream or CUDA event to OpenCV
This commit is contained in:
Vladislav Vinogradov
2015-11-12 13:38:29 +03:00
parent b4112a5878
commit 39854ceda4
5 changed files with 72 additions and 16 deletions

View File

@@ -47,6 +47,7 @@
#include <cuda_runtime.h>
#include "opencv2/core/cuda.hpp"
#include "opencv2/core/cuda_stream_accessor.hpp"
#include "opencv2/ts/cuda_test.hpp"
using namespace cvtest;
@@ -129,6 +130,27 @@ CUDA_TEST_P(Async, Convert)
stream.waitForCompletion();
}
CUDA_TEST_P(Async, WrapStream)
{
cudaStream_t cuda_stream = NULL;
ASSERT_EQ(cudaSuccess, cudaStreamCreate(&cuda_stream));
{
cv::cuda::Stream stream = cv::cuda::StreamAccessor::wrapStream(cuda_stream);
d_src.upload(src, stream);
d_src.convertTo(d_dst, CV_32S, stream);
d_dst.download(dst, stream);
Async* test = this;
stream.enqueueHostCallback(checkConvert, test);
stream.waitForCompletion();
}
ASSERT_EQ(cudaSuccess, cudaStreamDestroy(cuda_stream));
}
CUDA_TEST_P(Async, HostMemAllocator)
{
cv::cuda::Stream stream;