#include <ScopedContext.h>
Public Types | |
using | Event = alpaka::Event< Queue > |
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 T , typename... Args> | |
auto | emplace (edm::Event &iEvent, edm::EDPutTokenT< Product< Queue, T >> token, Args &&... args) |
ScopedContextProduce (ContextState< Queue > &state) | |
Constructor to re-use the queue of acquire() (ExternalWork module) More... | |
ScopedContextProduce (ProductBase< Queue > const &data) | |
ScopedContextProduce (edm::StreamID streamID) | |
template<typename T > | |
std::unique_ptr< Product< Queue, T > > | wrap (T data) |
~ScopedContextProduce () | |
Record the event, all asynchronous work must have been queued before the destructor. More... | |
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 | |
ScopedContextProduce (std::shared_ptr< Queue > queue) | |
Private Attributes | |
std::shared_ptr< Event > | event_ |
Friends | |
class | ::cms::alpakatest::TestScopedContext |
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 produce() or normal produce():
Definition at line 201 of file ScopedContext.h.
using cms::alpakatools::ScopedContextProduce< TQueue, typename >::Event = alpaka::Event<Queue> |
Definition at line 204 of file ScopedContext.h.
using cms::alpakatools::ScopedContextProduce< TQueue, typename >::Queue = TQueue |
Definition at line 203 of file ScopedContext.h.
using cms::alpakatools::ScopedContextProduce< TQueue, typename >::ScopedContextGetterBase = impl::ScopedContextGetterBase<Queue> |
Definition at line 205 of file ScopedContext.h.
|
inlineexplicit |
Constructor to re-use the queue of acquire() (ExternalWork module)
Definition at line 211 of file ScopedContext.h.
References cms::alpakatools::impl::ScopedContextBase< TQueue >::device().
|
inlineexplicit |
Definition at line 214 of file ScopedContext.h.
References cms::alpakatools::impl::ScopedContextBase< TQueue >::device().
|
inlineexplicit |
Definition at line 217 of file ScopedContext.h.
References cms::alpakatools::impl::ScopedContextBase< TQueue >::device().
|
inline |
Record the event, all asynchronous work must have been queued before the destructor.
Definition at line 221 of file ScopedContext.h.
References cms::alpakatools::ScopedContextProduce< TQueue, typename >::event_, and cms::alpakatools::impl::ScopedContextBase< TQueue >::queue().
|
inlineexplicitprivate |
Definition at line 240 of file ScopedContext.h.
References cms::alpakatools::impl::ScopedContextBase< TQueue >::device().
|
inline |
Definition at line 233 of file ScopedContext.h.
References writedatasetfile::args, cms::alpakatools::ScopedContextProduce< TQueue, typename >::event_, iEvent, cms::alpakatools::impl::ScopedContextBase< TQueue >::queuePtr(), and unpackBuffers-CaloStage2::token.
|
inline |
Definition at line 227 of file ScopedContext.h.
References data, eostools::move(), and cms::alpakatools::impl::ScopedContextBase< TQueue >::queuePtr().
|
friend |
Definition at line 238 of file ScopedContext.h.
|
private |
Definition at line 243 of file ScopedContext.h.
Referenced by cms::alpakatools::ScopedContextProduce< TQueue, typename >::emplace(), and cms::alpakatools::ScopedContextProduce< TQueue, typename >::~ScopedContextProduce().