Trait opencv::core::StreamTraitConst
source · pub trait StreamTraitConst {
fn as_raw_Stream(&self) -> *const c_void;
fn query_if_complete(&self) -> Result<bool> { ... }
fn cuda_ptr(&self) -> Result<*mut c_void> { ... }
}
Expand description
This class encapsulates a queue of asynchronous calls.
Note: Currently, you may face problems if an operation is enqueued twice with different data. Some functions use the constant GPU memory, and next call may update the memory before the previous one has been finished. But calling different operations asynchronously is safe because each operation has its own constant buffer. Memory copy/upload/download/set operations to the buffers you hold are also safe.
Note: The Stream class is not thread-safe. Please use different Stream objects for different CPU threads.
void thread1()
{
cv::cuda::Stream stream1;
cv::cuda::func1(..., stream1);
}
void thread2()
{
cv::cuda::Stream stream2;
cv::cuda::func2(..., stream2);
}
Note: By default all CUDA routines are launched in Stream::Null() object, if the stream is not specified by user. In multi-threading environment the stream objects must be passed explicitly (see previous note).
Required Methods
fn as_raw_Stream(&self) -> *const c_void
Provided Methods
sourcefn query_if_complete(&self) -> Result<bool>
fn query_if_complete(&self) -> Result<bool>
Returns true if the current stream queue is finished. Otherwise, it returns false.