CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB Class Reference
Inheritance diagram for ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB:
ALPAKA_ACCELERATOR_NAMESPACE::ESProducer edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

std::optional< cms::alpakatest::AlpakaESTestDataB< DevHost > > produce (AlpakaESTestRecordB const &iRecord)
 
 TestAlpakaESProducerB (edm::ParameterSet const &iConfig)
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESProxyIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from ALPAKA_ACCELERATOR_NAMESPACE::ESProducer
static void prevalidate (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Private Attributes

edm::ESGetToken< cms::alpakatest::ESTestDataB, AlpakaESTestRecordBtoken_
 

Additional Inherited Members

- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from ALPAKA_ACCELERATOR_NAMESPACE::ESProducer
 ESProducer (edm::ParameterSet const &iConfig)
 
template<typename T >
auto setWhatProduced (T *iThis, edm::es::Label const &label={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(TRecord const &), edm::es::Label const &label={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(device::Record< TRecord > const &), edm::es::Label const &label={})
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

This class demonstrates and ESProducer on the data model 2 that consumes a standard host ESProduct and converts the data into an Alpaka buffer that is then moved into an object of a class that is templated over the device type, and implicitly transfers the data product to device

This class also tests the explicit label for ESProducts works

Definition at line 22 of file TestAlpakaESProducerB.cc.

Constructor & Destructor Documentation

◆ TestAlpakaESProducerB()

ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB::TestAlpakaESProducerB ( edm::ParameterSet const &  iConfig)
inline

Definition at line 24 of file TestAlpakaESProducerB.cc.

References gpuPixelDoublets::cc, edm::ParameterSet::getParameter(), ALPAKA_ACCELERATOR_NAMESPACE::ESProducer::setWhatProduced(), AlCaHLTBitMon_QueryRunRegistry::string, and token_.

24  : ESProducer(iConfig) {
25  auto cc = setWhatProduced(this, iConfig.getParameter<std::string>("explicitLabel"));
26  token_ = cc.consumes();
27  }
uint32_t cc[maxCellsPerHit]
Definition: gpuFishbone.h:49
edm::ESGetToken< cms::alpakatest::ESTestDataB, AlpakaESTestRecordB > token_
auto setWhatProduced(T *iThis, edm::es::Label const &label={})
Definition: ESProducer.h:39

Member Function Documentation

◆ fillDescriptions()

static void ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
inlinestatic

◆ produce()

std::optional<cms::alpakatest::AlpakaESTestDataB<DevHost> > ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB::produce ( AlpakaESTestRecordB const &  iRecord)
inline

Definition at line 35 of file TestAlpakaESProducerB.cc.

References edmScanValgrind::buffer, edm::eventsetup::EventSetupRecordImplementation< T >::get(), mps_fire::i, input, eostools::move(), findQualityFiles::size, and token_.

35  {
36  auto const& input = iRecord.get(token_);
37 
38  int const size = 5;
39  // TODO: cached allocation?
40  auto buffer = cms::alpakatools::make_host_buffer<int[], Platform>(size);
41  for (int i = 0; i < size; ++i) {
42  buffer[i] = i + input.value();
43  }
45  }
size
Write out results.
static std::string const input
Definition: EdmProvDump.cc:50
edm::ESGetToken< cms::alpakatest::ESTestDataB, AlpakaESTestRecordB > token_
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ token_

edm::ESGetToken<cms::alpakatest::ESTestDataB, AlpakaESTestRecordB> ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB::token_
private

Definition at line 48 of file TestAlpakaESProducerB.cc.

Referenced by produce(), and TestAlpakaESProducerB().