#include <ScopedContext.h>
Public Types | |
using | Queue = TQueue |
using | ScopedContextGetterBase = impl::ScopedContextGetterBase< Queue > |
Public Types inherited from cms::alpakatools::impl::ScopedContextGetterBase< TQueue > | |
using | Queue = TQueue |
Public Types inherited from cms::alpakatools::impl::ScopedContextBase< TQueue > | |
using | Device = alpaka::Dev< Queue > |
using | Platform = alpaka::Pltf< Device > |
using | Queue = TQueue |
Public Member Functions | |
template<typename F > | |
void | pushNextTask (F &&f) |
void | replaceWaitingTaskHolder (edm::WaitingTaskWithArenaHolder waitingTaskHolder) |
ScopedContextAcquire (edm::StreamID streamID, edm::WaitingTaskWithArenaHolder waitingTaskHolder) | |
Constructor to create a new queue (no need for context beyond acquire()) More... | |
ScopedContextAcquire (edm::StreamID streamID, edm::WaitingTaskWithArenaHolder waitingTaskHolder, ContextState< Queue > &state) | |
Constructor to create a new queue, and the context is needed after acquire() More... | |
ScopedContextAcquire (ProductBase< Queue > const &data, edm::WaitingTaskWithArenaHolder waitingTaskHolder) | |
Constructor to (possibly) re-use a queue (no need for context beyond acquire()) More... | |
ScopedContextAcquire (ProductBase< Queue > const &data, edm::WaitingTaskWithArenaHolder waitingTaskHolder, ContextState< Queue > &state) | |
Constructor to (possibly) re-use a queue, and the context is needed after acquire() More... | |
~ScopedContextAcquire () | |
Public Member Functions inherited from cms::alpakatools::impl::ScopedContextGetterBase< TQueue > | |
const T & | get (Product< Queue, T > const &data) |
const T & | get (edm::Event const &event, edm::EDGetTokenT< Product< Queue, T >> token) |
Public Member Functions inherited from cms::alpakatools::impl::ScopedContextBase< TQueue > | |
Device | device () const |
Queue & | queue () |
const std::shared_ptr< Queue > & | queuePtr () const |
Private Member Functions | |
void | throwNoState () |
Private Attributes | |
ContextState< Queue > * | contextState_ = nullptr |
impl::ScopedContextHolderHelper | holderHelper_ |
Additional Inherited Members | |
Protected Member Functions inherited from cms::alpakatools::impl::ScopedContextGetterBase< TQueue > | |
ScopedContextGetterBase (Args &&... args) | |
void | synchronizeStreams (ProductBase< Queue > const &data) |
Protected Member Functions inherited from cms::alpakatools::impl::ScopedContextBase< TQueue > | |
ScopedContextBase (ProductBase< Queue > const &data) | |
ScopedContextBase (std::shared_ptr< Queue > queue) | |
ScopedContextBase (edm::StreamID streamID) | |
The aim of this class is to do necessary per-event "initialization" in ExternalWork acquire():
Definition at line 136 of file ScopedContext.h.
using cms::alpakatools::ScopedContextAcquire< TQueue, typename >::Queue = TQueue |
Definition at line 138 of file ScopedContext.h.
using cms::alpakatools::ScopedContextAcquire< TQueue, typename >::ScopedContextGetterBase = impl::ScopedContextGetterBase<Queue> |
Definition at line 139 of file ScopedContext.h.
|
inlineexplicit |
Constructor to create a new queue (no need for context beyond acquire())
Definition at line 144 of file ScopedContext.h.
References eostools::move().
|
inlineexplicit |
Constructor to create a new queue, and the context is needed after acquire()
Definition at line 148 of file ScopedContext.h.
References eostools::move().
|
inlineexplicit |
Constructor to (possibly) re-use a queue (no need for context beyond acquire())
Definition at line 154 of file ScopedContext.h.
References eostools::move().
|
inlineexplicit |
Constructor to (possibly) re-use a queue, and the context is needed after acquire()
Definition at line 158 of file ScopedContext.h.
References eostools::move().
|
inline |
Definition at line 163 of file ScopedContext.h.
References cms::alpakatools::ScopedContextAcquire< TQueue, typename >::contextState_, cms::alpakatools::impl::ScopedContextHolderHelper::enqueueCallback(), cms::alpakatools::ScopedContextAcquire< TQueue, typename >::holderHelper_, cms::alpakatools::impl::ScopedContextBase< TQueue >::queue(), cms::alpakatools::impl::ScopedContextBase< TQueue >::queuePtr(), and cms::alpakatools::ContextState< TQueue, typename >::set().
|
inline |
Definition at line 171 of file ScopedContext.h.
References cms::alpakatools::ScopedContextAcquire< TQueue, typename >::contextState_, f, cms::alpakatools::ScopedContextAcquire< TQueue, typename >::holderHelper_, cms::alpakatools::impl::ScopedContextHolderHelper::pushNextTask(), and cms::alpakatools::ScopedContextAcquire< TQueue, typename >::throwNoState().
|
inline |
Definition at line 177 of file ScopedContext.h.
References cms::alpakatools::ScopedContextAcquire< TQueue, typename >::holderHelper_, eostools::move(), and cms::alpakatools::impl::ScopedContextHolderHelper::replaceWaitingTaskHolder().
|
inlineprivate |
Definition at line 182 of file ScopedContext.h.
References Exception.
Referenced by cms::alpakatools::ScopedContextAcquire< TQueue, typename >::pushNextTask().
|
private |
Definition at line 189 of file ScopedContext.h.
Referenced by cms::alpakatools::ScopedContextAcquire< TQueue, typename >::pushNextTask(), and cms::alpakatools::ScopedContextAcquire< TQueue, typename >::~ScopedContextAcquire().
|
private |
Definition at line 188 of file ScopedContext.h.
Referenced by cms::alpakatools::ScopedContextAcquire< TQueue, typename >::pushNextTask(), cms::alpakatools::ScopedContextAcquire< TQueue, typename >::replaceWaitingTaskHolder(), and cms::alpakatools::ScopedContextAcquire< TQueue, typename >::~ScopedContextAcquire().