alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev > Class Template Referencefinal

The CPU device queue implementation. More...

#include <QueueGenericThreadsBlocking.hpp>

+ Inheritance diagram for alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >:

Public Member Functions

 QueueGenericThreadsBlockingImpl (QueueGenericThreadsBlockingImpl< TDev > const &)=delete
 
 QueueGenericThreadsBlockingImpl (TDev dev) noexcept
 
void enqueue (EventGenericThreads< TDev > &ev) final
 enqueue the event More...
 
auto operator= (QueueGenericThreadsBlockingImpl< TDev > const &) -> QueueGenericThreadsBlockingImpl< TDev > &=delete
 
void wait (EventGenericThreads< TDev > const &ev) final
 waiting for the event More...
 
- Public Member Functions inherited from alpaka::IGenericThreadsQueue< TDev >
virtual ~IGenericThreadsQueue ()=default
 

Public Attributes

std::atomic< bool > m_bCurrentlyExecutingTask
 
TDev const m_dev
 The device this queue is bound to. More...
 
std::mutex m_mutex
 

Detailed Description

template<typename TDev>
class alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >

The CPU device queue implementation.

Definition at line 34 of file QueueGenericThreadsBlocking.hpp.

Constructor & Destructor Documentation

◆ QueueGenericThreadsBlockingImpl() [1/2]

template<typename TDev >
alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::QueueGenericThreadsBlockingImpl ( TDev  dev)
inlineexplicitnoexcept

Definition at line 40 of file QueueGenericThreadsBlocking.hpp.

◆ QueueGenericThreadsBlockingImpl() [2/2]

Member Function Documentation

◆ enqueue()

template<typename TDev >
void alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::enqueue ( EventGenericThreads< TDev > &  )
inlinefinalvirtual

enqueue the event

Implements alpaka::IGenericThreadsQueue< TDev >.

Definition at line 50 of file QueueGenericThreadsBlocking.hpp.

◆ operator=()

template<typename TDev >
auto alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::operator= ( QueueGenericThreadsBlockingImpl< TDev > const &  ) -> QueueGenericThreadsBlockingImpl< TDev > &=delete
delete

◆ wait()

template<typename TDev >
void alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::wait ( EventGenericThreads< TDev > const &  )
inlinefinalvirtual

waiting for the event

Implements alpaka::IGenericThreadsQueue< TDev >.

Definition at line 55 of file QueueGenericThreadsBlocking.hpp.

Member Data Documentation

◆ m_bCurrentlyExecutingTask

template<typename TDev >
std::atomic<bool> alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::m_bCurrentlyExecutingTask

Definition at line 63 of file QueueGenericThreadsBlocking.hpp.

◆ m_dev

template<typename TDev >
TDev const alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::m_dev

The device this queue is bound to.

Definition at line 61 of file QueueGenericThreadsBlocking.hpp.

◆ m_mutex

template<typename TDev >
std::mutex alpaka::generic::detail::QueueGenericThreadsBlockingImpl< TDev >::m_mutex
mutable

Definition at line 62 of file QueueGenericThreadsBlocking.hpp.


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