#include <GlobalSchedule.h>
Public Types | |
typedef std::vector< Worker * > | AllWorkers |
typedef std::vector< std::string > | vstring |
typedef std::shared_ptr< Worker > | WorkerPtr |
typedef std::vector< Worker * > | Workers |
Public Member Functions | |
AllWorkers const & | allWorkers () const |
returns the collection of pointers to workers More... | |
void | beginJob (ProductRegistry const &, eventsetup::ESRecordsToProductResolverIndices const &, ProcessBlockHelperBase const &, PathsAndConsumesOfModulesBase const &, ProcessContext const &) |
void | deleteModule (std::string const &iLabel) |
Delete the module with label iLabel. More... | |
void | endJob (ExceptionCollector &collector) |
std::vector< ModuleDescription const * > | getAllModuleDescriptions () const |
GlobalSchedule (std::shared_ptr< TriggerResultInserter > inserter, std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters, std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> &endPathStatusInserters, std::shared_ptr< ModuleRegistry > modReg, std::vector< std::string > const &modulesToUse, ParameterSet &proc_pset, ProductRegistry &pregistry, PreallocationConfiguration const &prealloc, ExceptionToActionTable const &actions, std::shared_ptr< ActivityRegistry > areg, std::shared_ptr< ProcessConfiguration const > processConfiguration, ProcessContext const *processContext) | |
GlobalSchedule (GlobalSchedule const &)=delete | |
template<typename T > | |
void | processOneGlobalAsync (WaitingTaskHolder holder, typename T::TransitionInfoType &, ServiceToken const &token, bool cleaningUpAfterException=false) |
void | replaceModule (maker::ModuleHolder *iMod, std::string const &iLabel) |
clone the type of module with label iLabel but configure with iPSet. More... | |
bool | terminate () const |
Return whether each output module has reached its maximum count. More... | |
Private Member Functions | |
ExceptionToActionTable const & | actionTable () const |
returns the action table More... | |
void | handleException (GlobalContext const *, ServiceWeakToken const &, bool cleaningUpAfterException, std::exception_ptr &) |
template<typename T > | |
void | postScheduleSignal (GlobalContext const *, ServiceWeakToken const &, std::exception_ptr &) |
template<typename T > | |
void | preScheduleSignal (GlobalContext const *, ServiceToken const &) |
Private Attributes | |
std::shared_ptr< ActivityRegistry > | actReg_ |
std::vector< edm::propagate_const< WorkerPtr > > | extraWorkers_ |
unsigned int | numberOfConcurrentLumis_ |
unsigned int | numberOfConcurrentRuns_ |
ProcessContext const * | processContext_ |
std::vector< WorkerManager > | workerManagers_ |
Static Private Attributes | |
static constexpr unsigned int | numberOfConcurrentJobs_ = 1 |
static constexpr unsigned int | numberOfConcurrentProcessBlocks_ = 1 |
Definition at line 49 of file GlobalSchedule.h.
typedef std::vector<Worker*> edm::GlobalSchedule::AllWorkers |
Definition at line 52 of file GlobalSchedule.h.
typedef std::vector<std::string> edm::GlobalSchedule::vstring |
Definition at line 51 of file GlobalSchedule.h.
typedef std::shared_ptr<Worker> edm::GlobalSchedule::WorkerPtr |
Definition at line 53 of file GlobalSchedule.h.
typedef std::vector<Worker*> edm::GlobalSchedule::Workers |
Definition at line 54 of file GlobalSchedule.h.
edm::GlobalSchedule::GlobalSchedule | ( | std::shared_ptr< TriggerResultInserter > | inserter, |
std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> & | pathStatusInserters, | ||
std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> & | endPathStatusInserters, | ||
std::shared_ptr< ModuleRegistry > | modReg, | ||
std::vector< std::string > const & | modulesToUse, | ||
ParameterSet & | proc_pset, | ||
ProductRegistry & | pregistry, | ||
PreallocationConfiguration const & | prealloc, | ||
ExceptionToActionTable const & | actions, | ||
std::shared_ptr< ActivityRegistry > | areg, | ||
std::shared_ptr< ProcessConfiguration const > | processConfiguration, | ||
ProcessContext const * | processContext | ||
) |
Definition at line 24 of file GlobalSchedule.cc.
References actions, actReg_, cms::cuda::assert(), extraWorkers_, edm::get_underlying(), edm::ParameterSet::getPSetForUpdate(), mps_fire::i, HerwigMaxPtPartonFilter_cfi::moduleLabel, eostools::move(), numberOfConcurrentJobs_, numberOfConcurrentProcessBlocks_, edm::PreallocationConfiguration::numberOfLuminosityBlocks(), edm::PreallocationConfiguration::numberOfRuns(), and workerManagers_.
|
delete |
|
inlineprivate |
returns the action table
Definition at line 105 of file GlobalSchedule.h.
References workerManagers_.
|
inline |
returns the collection of pointers to workers
Definition at line 101 of file GlobalSchedule.h.
References workerManagers_.
Referenced by getAllModuleDescriptions().
void edm::GlobalSchedule::beginJob | ( | ProductRegistry const & | iRegistry, |
eventsetup::ESRecordsToProductResolverIndices const & | iESIndices, | ||
ProcessBlockHelperBase const & | processBlockHelperBase, | ||
PathsAndConsumesOfModulesBase const & | pathsAndConsumesOfModules, | ||
ProcessContext const & | processContext | ||
) |
Definition at line 98 of file GlobalSchedule.cc.
References actReg_, CMS_SA_ALLOW, edm::exceptionContext(), edm::GlobalContext::kBeginJob, numberOfConcurrentLumis_, numberOfConcurrentProcessBlocks_, numberOfConcurrentRuns_, processContext_, workerManagers_, and edm::convertException::wrap().
void edm::GlobalSchedule::deleteModule | ( | std::string const & | iLabel | ) |
Delete the module with label iLabel.
Definition at line 191 of file GlobalSchedule.cc.
References workerManagers_.
void edm::GlobalSchedule::endJob | ( | ExceptionCollector & | collector | ) |
Definition at line 135 of file GlobalSchedule.cc.
References actReg_, edm::ExceptionCollector::call(), CMS_SA_ALLOW, edm::exceptionContext(), edm::GlobalContext::kEndJob, numberOfConcurrentLumis_, numberOfConcurrentProcessBlocks_, numberOfConcurrentRuns_, processContext_, workerManagers_, and edm::convertException::wrap().
std::vector< ModuleDescription const * > edm::GlobalSchedule::getAllModuleDescriptions | ( | ) | const |
Return a vector allowing const access to all the ModuleDescriptions for this GlobalSchedule. *** N.B. *** Ownership of the ModuleDescriptions is not *** passed to the caller. Do not call delete on these *** pointers!
Definition at line 197 of file GlobalSchedule.cc.
References allWorkers(), AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.
|
private |
Definition at line 208 of file GlobalSchedule.cc.
References actReg_, edm::addContextAndPrintException(), CMS_SA_ALLOW, cms::Exception::context(), edm::exceptionContext(), edm::ExceptionFromThisContext, edm::ServiceWeakToken::lock(), findAndChange::op, and edm::convertException::wrap().
Referenced by processOneGlobalAsync().
|
private |
Definition at line 204 of file GlobalSchedule.h.
References actReg_, edm::exceptionContext(), edm::ServiceWeakToken::lock(), findAndChange::op, and edm::convertException::wrap().
|
private |
Definition at line 191 of file GlobalSchedule.h.
References actReg_, edm::exceptionContext(), findAndChange::op, unpackBuffers-CaloStage2::token, and edm::convertException::wrap().
void edm::GlobalSchedule::processOneGlobalAsync | ( | WaitingTaskHolder | holder, |
typename T::TransitionInfoType & | transitionInfo, | ||
ServiceToken const & | token, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 133 of file GlobalSchedule.h.
References edm::WorkerManager::allWorkers(), CMS_SA_ALLOW, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), edm::WaitingTaskHolder::doneWaiting(), edm::WaitingTaskHolder::group(), handleException(), edm::InProcess, edm::InRun, edm::StreamID::invalidStreamID(), edm::make_waiting_task(), numberOfConcurrentLumis_, numberOfConcurrentRuns_, processContext_, edm::WorkerManager::resetAll(), groupFilesInBlocks::reverse, edm::WorkerManager::setupResolvers(), unpackBuffers-CaloStage2::token, and workerManagers_.
void edm::GlobalSchedule::replaceModule | ( | maker::ModuleHolder * | iMod, |
std::string const & | iLabel | ||
) |
clone the type of module with label iLabel but configure with iPSet.
Definition at line 166 of file GlobalSchedule.cc.
References newFWLiteAna::found, edm::GlobalContext::kBeginJob, numberOfConcurrentLumis_, numberOfConcurrentProcessBlocks_, numberOfConcurrentRuns_, processContext_, edm::maker::ModuleHolder::replaceModuleFor(), and workerManagers_.
bool edm::GlobalSchedule::terminate | ( | ) | const |
Return whether each output module has reached its maximum count.
|
private |
Definition at line 119 of file GlobalSchedule.h.
Referenced by beginJob(), endJob(), GlobalSchedule(), handleException(), postScheduleSignal(), and preScheduleSignal().
|
private |
Definition at line 120 of file GlobalSchedule.h.
Referenced by GlobalSchedule().
|
staticprivate |
Definition at line 129 of file GlobalSchedule.h.
Referenced by GlobalSchedule().
|
private |
Definition at line 126 of file GlobalSchedule.h.
Referenced by beginJob(), endJob(), processOneGlobalAsync(), and replaceModule().
|
staticprivate |
Definition at line 128 of file GlobalSchedule.h.
Referenced by beginJob(), endJob(), GlobalSchedule(), and replaceModule().
|
private |
Definition at line 127 of file GlobalSchedule.h.
Referenced by beginJob(), endJob(), processOneGlobalAsync(), and replaceModule().
|
private |
Definition at line 121 of file GlobalSchedule.h.
Referenced by beginJob(), endJob(), processOneGlobalAsync(), and replaceModule().
|
private |
Definition at line 118 of file GlobalSchedule.h.
Referenced by actionTable(), allWorkers(), beginJob(), deleteModule(), endJob(), GlobalSchedule(), processOneGlobalAsync(), and replaceModule().