我们正在使用-default-stream=per-thread
进行编译,以获取CUDA的每个线程流。但是,当我们执行以下操作时:cv::cuda::Stream::Null()
,我们将获得一个流指针,该指针指向“旧版默认流”(请参阅详细信息here)。
我们如何获得指向cuda流句柄cv::cuda::Stream
的{{1}}?
更一般而言,我们如何获得指向现有CU_STREAM_PER_THREAD
句柄的cv::cuda::Stream
?
有一个cv::cuda::Stream
here的朋友称为cv::cuda::StreamAccessor
。此结构具有静态成员函数:
static Stream wrapStream (cudaStream_t stream)
可以如下使用:
#include <opencv2/core/cuda_stream_accessor.hpp>
#include <cuda.h>
...
auto cvThreadDefaultStream =
cv::cuda::StreamAccessor::wrapStream(CU_STREAM_PER_THREAD);
获取代表默认线程流的cv
Stream
。