Class cv::cann::AscendStream::Impl#

Warpper of CANN streams.

Collaboration diagram for cv::cann::AscendStream::Impl:

cv::cann::AscendStream::Impl Node1 cv::cann::AscendStream ::Impl   + Impl() + Impl() + AddTensorHolder() Node2 aclrtStream     Node2->Node1 +stream Node3 bool     Node3->Node1 +ownStream Node4 std::set< std::shared _ptr< uchar > >     Node4->Node1 +tensorHolders Node5 std::shared_ptr< uchar >   + operator->() Node5->Node4 +keys Node6 uint8_t     Node6->Node5 +ptr Node7 std::shared_ptr< T >   + operator->() Node7->Node5 < uchar > Node8 T     Node8->Node7 +ptr Node9 std::set< K >     Node9->Node4 < std::shared_ptr< uchar > > Node10 K     Node10->Node9 +keys

cv::cann::AscendStream::Impl Node1 cv::cann::AscendStream ::Impl   + Impl() + Impl() + AddTensorHolder() Node2 aclrtStream     Node2->Node1 +stream Node3 bool     Node3->Node1 +ownStream Node4 std::set< std::shared _ptr< uchar > >     Node4->Node1 +tensorHolders Node5 std::shared_ptr< uchar >   + operator->() Node5->Node4 +keys Node6 uint8_t     Node6->Node5 +ptr Node7 std::shared_ptr< T >   + operator->() Node7->Node5 < uchar > Node8 T     Node8->Node7 +ptr Node9 std::set< K >     Node9->Node4 < std::shared_ptr< uchar > > Node10 K     Node10->Node9 +keys

Detailed Description#

Warpper of CANN streams.

Constructor & Destructor Documentation#

Impl()#

cv::cann::AscendStream::Impl::Impl()

Impl()#

cv::cann::AscendStream::Impl::Impl(aclrtStream stream)

Member Function Documentation#

AddTensorHolder()#

void cv::cann::AscendStream::Impl::AddTensorHolder(const std::shared_ptr< uchar > & tensorData)

Member Data Documentation#

ownStream#

bool cv::cann::AscendStream::Impl::ownStream

stream#

aclrtStream cv::cann::AscendStream::Impl::stream

tensorHolders#

std::set< std::shared_ptr< uchar > > cv::cann::AscendStream::Impl::tensorHolders

Ascend and CANN use stream to implement asynchronous calls. Which means when function returns, operator may not finish, even not start. If caller free any tensors that participate in this operatation, it have a chance to access invalid memory. All tensors should add to holder, holder will be cleaned by waitForCompletion function, or when the stream is destructing.

Source file#

The documentation for this class was generated from the following file: