Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
uni20::cuda::StreamPool::Impl Class Reference

Classes

struct  ReturnPayload
 
struct  Slot
 

Public Types

enum class  SlotState { idle , leased , pending }
 

Public Member Functions

std::size_t acquire ()
 
std::optional< std::size_t > acquire_or_enqueue (detail::StreamWaiter &waiter) noexcept
 
std::size_t count (SlotState state) const noexcept
 
int device () const noexcept
 
 Impl (Config config)
 
void release_leased_without_work (std::size_t slot) noexcept
 
void release_when_idle (std::size_t slot) noexcept
 
std::size_t size () const noexcept
 
StreamResource & stream (std::size_t slot)
 
void synchronize ()
 
std::optional< std::size_t > try_acquire ()
 
 ~Impl ()
 

Member Enumeration Documentation

◆ SlotState

Enumerator
idle 
leased 
pending 

Constructor & Destructor Documentation

◆ Impl()

uni20::cuda::StreamPool::Impl::Impl ( Config  config)
inlineexplicit

◆ ~Impl()

uni20::cuda::StreamPool::Impl::~Impl ( )
inline

Member Function Documentation

◆ acquire()

std::size_t uni20::cuda::StreamPool::Impl::acquire ( )
inline

◆ acquire_or_enqueue()

std::optional< std::size_t > uni20::cuda::StreamPool::Impl::acquire_or_enqueue ( detail::StreamWaiter &  waiter)
inlinenoexcept

◆ count()

std::size_t uni20::cuda::StreamPool::Impl::count ( SlotState  state) const
inlinenoexcept

◆ device()

int uni20::cuda::StreamPool::Impl::device ( ) const
inlinenoexcept

◆ release_leased_without_work()

void uni20::cuda::StreamPool::Impl::release_leased_without_work ( std::size_t  slot)
inlinenoexcept

◆ release_when_idle()

void uni20::cuda::StreamPool::Impl::release_when_idle ( std::size_t  slot)
inlinenoexcept

◆ size()

std::size_t uni20::cuda::StreamPool::Impl::size ( ) const
inlinenoexcept

◆ stream()

StreamResource & uni20::cuda::StreamPool::Impl::stream ( std::size_t  slot)
inline

◆ synchronize()

void uni20::cuda::StreamPool::Impl::synchronize ( )
inline

◆ try_acquire()

std::optional< std::size_t > uni20::cuda::StreamPool::Impl::try_acquire ( )
inline

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