19 template<
typename TQueue>
24 std::vector<std::shared_ptr<TQueue>> vspQueues;
26 std::lock_guard<std::mutex> lk(m_Mutex);
27 vspQueues.reserve(std::size(m_queues));
31 auto spQueue = it->lock();
34 vspQueues.emplace_back(std::move(spQueue));
39 it = m_queues.erase(it);
49 std::lock_guard<std::mutex> lk(m_Mutex);
52 m_queues.push_back(spQueue);
56 std::mutex
mutable m_Mutex;
57 std::deque<std::weak_ptr<TQueue>>
mutable m_queues;
ALPAKA_FN_HOST auto end(TView &view) -> Iterator< TView >
ALPAKA_FN_HOST auto begin(TView &view) -> Iterator< TView >
The CPU/GPU device queue registry implementation.
ALPAKA_FN_HOST auto getAllExistingQueues() const -> std::vector< std::shared_ptr< TQueue >>
ALPAKA_FN_HOST auto registerQueue(std::shared_ptr< TQueue > const &spQueue) const -> void
Registers the given queue on this device. NOTE: Every queue has to be registered for correct function...