#include <WorkerManager.h>
Public Types | |
typedef std::vector< Worker * > | AllWorkers |
Public Member Functions | |
ExceptionToActionTable const & | actionTable () const |
void | addToAllWorkers (Worker *w) |
void | addToUnscheduledWorkers (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string label, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels) |
AllWorkers const & | allWorkers () const |
void | beginJob (ProductRegistry const &iRegistry, eventsetup::ESRecordsToProductResolverIndices const &, ProcessBlockHelperBase const &, GlobalContext const &) |
void | beginStream (StreamID, StreamContext const &) |
void | deleteModuleIfExists (std::string const &moduleLabel) |
void | endJob (ExceptionCollector &, GlobalContext const &) |
void | endStream (StreamID, StreamContext const &, ExceptionCollector &, std::mutex &collectorMutex) noexcept |
Worker * | getWorker (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label) |
template<typename T > | |
void | processAccumulatorsAsync (WaitingTaskHolder, typename T::TransitionInfoType const &, ServiceToken const &, StreamID, ParentContext const &, typename T::Context const *) |
template<typename T , typename U > | |
void | processOneOccurrenceAsync (WaitingTaskHolder, typename T::TransitionInfoType &, ServiceToken const &, StreamID, typename T::Context const *topContext, U const *context) noexcept |
void | resetAll () |
void | setupOnDemandSystem (EventTransitionInfo const &) |
void | setupResolvers (Principal &principal) |
AllWorkers const & | unscheduledWorkers () const |
WorkerManager (std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions, ModuleTypeResolverMaker const *typeResolverMaker) | |
WorkerManager (WorkerManager &&)=default | |
WorkerManager (std::shared_ptr< ModuleRegistry > modReg, std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions) | |
Private Attributes | |
ExceptionToActionTable const * | actionTable_ |
AllWorkers | allWorkers_ |
void const * | lastSetupEventPrincipal_ |
UnscheduledCallProducer | unscheduled_ |
WorkerRegistry | workerReg_ |
Definition at line 31 of file WorkerManager.h.
typedef std::vector<Worker*> edm::WorkerManager::AllWorkers |
Definition at line 33 of file WorkerManager.h.
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ActivityRegistry > | actReg, |
ExceptionToActionTable const & | actions, | ||
ModuleTypeResolverMaker const * | typeResolverMaker | ||
) |
Definition at line 23 of file WorkerManager.cc.
|
default |
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ModuleRegistry > | modReg, |
std::shared_ptr< ActivityRegistry > | actReg, | ||
ExceptionToActionTable const & | actions | ||
) |
Definition at line 32 of file WorkerManager.cc.
|
inline |
Definition at line 87 of file WorkerManager.h.
References actionTable_.
Referenced by edm::StreamSchedule::actionTable().
void edm::WorkerManager::addToAllWorkers | ( | Worker * | w | ) |
Definition at line 167 of file WorkerManager.cc.
References allWorkers_, edm::search_all(), and w().
Referenced by edm::StreamSchedule::addToAllWorkers(), addToUnscheduledWorkers(), and edm::StreamSchedule::StreamSchedule().
void edm::WorkerManager::addToUnscheduledWorkers | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration const > | processConfiguration, | ||
std::string | label, | ||
std::set< std::string > & | unscheduledLabels, | ||
std::vector< std::string > & | shouldBeUsedLabels | ||
) |
Definition at line 60 of file WorkerManager.cc.
References addToAllWorkers(), edm::UnscheduledCallProducer::addWorker(), cms::cuda::assert(), getWorker(), edm::Worker::kFilter, kFilterType(), edm::Worker::kProducer, kProducerType(), label, edm::Worker::moduleType(), muonDTDigis_cfi::pset, AlCaHLTBitMon_QueryRunRegistry::string, and unscheduled_.
Referenced by edm::SecondaryEventProvider::SecondaryEventProvider(), and edm::StreamSchedule::StreamSchedule().
|
inline |
Definition at line 82 of file WorkerManager.h.
References allWorkers_.
Referenced by edm::StreamSchedule::allWorkersBeginEnd(), edm::StreamSchedule::allWorkersLumisAndEvents(), edm::StreamSchedule::allWorkersRuns(), and edm::GlobalSchedule::processOneGlobalAsync().
void edm::WorkerManager::beginJob | ( | ProductRegistry const & | iRegistry, |
eventsetup::ESRecordsToProductResolverIndices const & | iESIndices, | ||
ProcessBlockHelperBase const & | processBlockHelperBase, | ||
GlobalContext const & | globalContext | ||
) |
Definition at line 83 of file WorkerManager.cc.
References allWorkers_, CMS_SA_ALLOW, edm::InEvent, edm::InLumi, edm::InProcess, edm::InRun, SimL1EmulatorRepack_CalouGT_cff::processName, and edm::ProductRegistry::productLookup().
Referenced by edm::SecondaryEventProvider::beginJob().
void edm::WorkerManager::beginStream | ( | StreamID | streamID, |
StreamContext const & | streamContext | ||
) |
Definition at line 138 of file WorkerManager.cc.
References allWorkers_, and CMS_SA_ALLOW.
Referenced by edm::SecondaryEventProvider::beginStream(), and edm::StreamSchedule::beginStream().
void edm::WorkerManager::deleteModuleIfExists | ( | std::string const & | moduleLabel | ) |
Definition at line 41 of file WorkerManager.cc.
References allWorkers_, edm::WorkerRegistry::deleteModule(), edm::WorkerRegistry::get(), HerwigMaxPtPartonFilter_cfi::moduleLabel, MatrixUtil::remove(), edm::UnscheduledCallProducer::removeWorker(), unscheduled_, and workerReg_.
Referenced by edm::StreamSchedule::deleteModule().
void edm::WorkerManager::endJob | ( | ExceptionCollector & | collector, |
GlobalContext const & | globalContext | ||
) |
Definition at line 128 of file WorkerManager.cc.
References edm::ExceptionCollector::addException(), allWorkers_, and edm::convertException::wrap().
Referenced by edm::SecondaryEventProvider::endJob().
|
noexcept |
Definition at line 152 of file WorkerManager.cc.
References CMS_SA_ALLOW.
Referenced by edm::SecondaryEventProvider::endStream(), and edm::StreamSchedule::endStream().
Worker * edm::WorkerManager::getWorker | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration const > | processConfiguration, | ||
std::string const & | label | ||
) |
Definition at line 51 of file WorkerManager.cc.
References actionTable_, edm::WorkerRegistry::getWorker(), label, submitPVValidationJobs::params, muonDTDigis_cfi::pset, and workerReg_.
Referenced by addToUnscheduledWorkers().
void edm::WorkerManager::processAccumulatorsAsync | ( | WaitingTaskHolder | task, |
typename T::TransitionInfoType const & | info, | ||
ServiceToken const & | token, | ||
StreamID | streamID, | ||
ParentContext const & | parentContext, | ||
typename T::Context const * | context | ||
) |
Definition at line 135 of file WorkerManager.h.
References visDQMUpload::context, info(), eostools::move(), edm::UnscheduledCallProducer::runAccumulatorsAsync(), TrackValidation_cff::task, unpackBuffers-CaloStage2::token, and unscheduled_.
Referenced by edm::StreamSchedule::processOneEventAsync().
|
noexcept |
Definition at line 106 of file WorkerManager.h.
References visDQMUpload::context, edm::Worker::doWorkNoPrefetchingAsync(), info(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, TrackValidation_cff::task, and unpackBuffers-CaloStage2::token.
Referenced by edm::StreamSchedule::processOneStreamAsync().
void edm::WorkerManager::resetAll | ( | ) |
Definition at line 165 of file WorkerManager.cc.
References allWorkers_, edm::for_all(), and edm::Worker::reset().
Referenced by edm::GlobalSchedule::processOneGlobalAsync(), edm::StreamSchedule::processOneStreamAsync(), and setupResolvers().
void edm::WorkerManager::setupOnDemandSystem | ( | EventTransitionInfo const & | info | ) |
Definition at line 182 of file WorkerManager.cc.
References info(), edm::UnscheduledCallProducer::setEventTransitionInfo(), and unscheduled_.
Referenced by edm::StreamSchedule::processOneEventAsync(), and edm::SecondaryEventProvider::setupPileUpEvent().
void edm::WorkerManager::setupResolvers | ( | Principal & | principal | ) |
Definition at line 173 of file WorkerManager.cc.
References allWorkers_, edm::UnscheduledCallProducer::auxiliary(), DiMuonV_cfg::config, ecalHexDisplay_cfg::ep, lastSetupEventPrincipal_, resetAll(), and unscheduled_.
Referenced by edm::StreamSchedule::processOneEventAsync(), edm::GlobalSchedule::processOneGlobalAsync(), and edm::SecondaryEventProvider::setupPileUpEvent().
|
inline |
Definition at line 83 of file WorkerManager.h.
References unscheduled_, and edm::UnscheduledCallProducer::workers().
Referenced by edm::SecondaryEventProvider::setupPileUpEvent(), and edm::StreamSchedule::unscheduledWorkersLumisAndEvents().
|
private |
Definition at line 99 of file WorkerManager.h.
Referenced by actionTable(), and getWorker().
|
private |
Definition at line 100 of file WorkerManager.h.
Referenced by addToAllWorkers(), allWorkers(), beginJob(), beginStream(), deleteModuleIfExists(), endJob(), resetAll(), and setupResolvers().
|
private |
Definition at line 102 of file WorkerManager.h.
Referenced by setupResolvers().
|
private |
Definition at line 101 of file WorkerManager.h.
Referenced by addToUnscheduledWorkers(), deleteModuleIfExists(), processAccumulatorsAsync(), setupOnDemandSystem(), setupResolvers(), and unscheduledWorkers().
|
private |
Definition at line 98 of file WorkerManager.h.
Referenced by deleteModuleIfExists(), and getWorker().