CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
NVProfilerService Class Reference

Public Member Functions

 NVProfilerService (const edm::ParameterSet &, edm::ActivityRegistry &)
 
void postBeginJob ()
 
void postCloseFile (std::string const &, bool)
 
void postEndJob ()
 
void postEvent (edm::StreamContext const &)
 
void postEventReadFromSource (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postGlobalBeginLumi (edm::GlobalContext const &)
 
void postGlobalBeginRun (edm::GlobalContext const &)
 
void postGlobalEndLumi (edm::GlobalContext const &)
 
void postGlobalEndRun (edm::GlobalContext const &)
 
void postModuleBeginJob (edm::ModuleDescription const &)
 
void postModuleBeginStream (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleConstruction (edm::ModuleDescription const &)
 
void postModuleEndJob (edm::ModuleDescription const &)
 
void postModuleEndStream (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventDelayedGet (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventPrefetching (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalBeginLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalBeginRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalEndLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalEndRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamBeginLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamBeginRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamEndLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamEndRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postOpenFile (std::string const &, bool)
 
void postPathEvent (edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
 
void postSourceConstruction (edm::ModuleDescription const &)
 
void postSourceEvent (edm::StreamID)
 
void postSourceLumi (edm::LuminosityBlockIndex)
 
void postSourceRun (edm::RunIndex)
 
void postStreamBeginLumi (edm::StreamContext const &)
 
void postStreamBeginRun (edm::StreamContext const &)
 
void postStreamEndLumi (edm::StreamContext const &)
 
void postStreamEndRun (edm::StreamContext const &)
 
void preallocate (edm::service::SystemBounds const &)
 
void preBeginJob (edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
 
void preCloseFile (std::string const &, bool)
 
void preEvent (edm::StreamContext const &)
 
void preEventReadFromSource (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preGlobalBeginLumi (edm::GlobalContext const &)
 
void preGlobalBeginRun (edm::GlobalContext const &)
 
void preGlobalEndLumi (edm::GlobalContext const &)
 
void preGlobalEndRun (edm::GlobalContext const &)
 
void preModuleBeginJob (edm::ModuleDescription const &)
 
void preModuleBeginStream (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleConstruction (edm::ModuleDescription const &)
 
void preModuleEndJob (edm::ModuleDescription const &)
 
void preModuleEndStream (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventDelayedGet (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventPrefetching (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalBeginLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalBeginRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalEndLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalEndRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamBeginLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamBeginRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamEndLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamEndRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preOpenFile (std::string const &, bool)
 
void prePathEvent (edm::StreamContext const &, edm::PathContext const &)
 
void preSourceConstruction (edm::ModuleDescription const &)
 
void preSourceEvent (edm::StreamID)
 
void preSourceLumi (edm::LuminosityBlockIndex)
 
void preSourceRun (edm::RunIndex)
 
void preStreamBeginLumi (edm::StreamContext const &)
 
void preStreamBeginRun (edm::StreamContext const &)
 
void preStreamEndLumi (edm::StreamContext const &)
 
void preStreamEndRun (edm::StreamContext const &)
 
 ~NVProfilerService ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

bool highlight (std::string const &label) const
 
uint32_t labelColor (std::string const &label) const
 
uint32_t labelColorLight (std::string const &label) const
 

Private Attributes

std::vector< nvtxRangeId_t > event_
 
nvtxDomainHandle_t global_domain_
 
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
 
std::atomic< bool > globalFirstEventDone_ = false
 
std::vector< std::string > highlightModules_
 
const bool showModulePrefetching_
 
const bool skipFirstEvent_
 
std::vector< nvtxDomainHandle_t > stream_domain_
 
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
 
std::vector< std::atomic< bool > > streamFirstEventDone_
 

Detailed Description

Definition at line 124 of file NVProfilerService.cc.

Constructor & Destructor Documentation

◆ NVProfilerService()

NVProfilerService::NVProfilerService ( const edm::ParameterSet config,
edm::ActivityRegistry registry 
)

Definition at line 302 of file NVProfilerService.cc.

303  : highlightModules_(config.getUntrackedParameter<std::vector<std::string>>("highlightModules")),
304  showModulePrefetching_(config.getUntrackedParameter<bool>("showModulePrefetching")),
305  skipFirstEvent_(config.getUntrackedParameter<bool>("skipFirstEvent")) {
306  // make sure that CUDA is initialised, and that the CUDAService destructor is called after this service's destructor
307  edm::Service<CUDAService> cudaService;
308 
309  std::sort(highlightModules_.begin(), highlightModules_.end());
310 
311  // create the NVTX domain for global EDM transitions
312  global_domain_ = nvtxDomainCreate("EDM Global");
313 
314  // enables profile collection; if profiling is already enabled it has no effect
315  if (not skipFirstEvent_) {
316  cudaProfilerStart();
317  }
318 
320 
321  // these signal pair are NOT guaranteed to be called by the same thread
324 
325  // there is no preEndJob() signal
327 
328  // these signal pair are NOT guaranteed to be called by the same thread
331 
332  // these signal pair are NOT guaranteed to be called by the same thread
335 
336  // these signal pair are NOT guaranteed to be called by the same thread
339 
340  // these signal pair are NOT guaranteed to be called by the same thread
343 
344  // these signal pair are NOT guaranteed to be called by the same thread
347 
348  // these signal pair are NOT guaranteed to be called by the same thread
351 
352  // these signal pair are NOT guaranteed to be called by the same thread
355 
356  // these signal pair are NOT guaranteed to be called by the same thread
359 
360  // these signal pair are NOT guaranteed to be called by the same thread
363 
364  // these signal pair are NOT guaranteed to be called by the same thread
367 
369  // these signal pair are NOT guaranteed to be called by the same thread
372  }
373 
374  // these signal pair are guaranteed to be called by the same thread
377 
378  // these signal pair are guaranteed to be called by the same thread
381 
382  // these signal pair are guaranteed to be called by the same thread
385 
386  // these signal pair are guaranteed to be called by the same thread
389 
390  // these signal pair are guaranteed to be called by the same thread
393 
394  // these signal pair are guaranteed to be called by the same thread
397 
398  // these signal pair are guaranteed to be called by the same thread
401 
402  // these signal pair are guaranteed to be called by the same thread
405 
406  // these signal pair are guaranteed to be called by the same thread
409 
410  // these signal pair are guaranteed to be called by the same thread
413 
414  // these signal pair are guaranteed to be called by the same thread
417 
418  // these signal pair are guaranteed to be called by the same thread
421 
422  // these signal pair are guaranteed to be called by the same thread
425 
426  // these signal pair are guaranteed to be called by the same thread
429 
430  // these signal pair are guaranteed to be called by the same thread
433 
434  // these signal pair are guaranteed to be called by the same thread
437 
438  // these signal pair are guaranteed to be called by the same thread
441 
442  // these signal pair are guaranteed to be called by the same thread
445 
446  // these signal pair are guaranteed to be called by the same thread
449 
450  // these signal pair are guaranteed to be called by the same thread
453 
454  // these signal pair are guaranteed to be called by the same thread
457 
458  // these signal pair are guaranteed to be called by the same thread
461 
462  // these signal pair are guaranteed to be called by the same thread
465 }

References global_domain_, highlightModules_, postBeginJob(), postCloseFile(), postEndJob(), postEvent(), postEventReadFromSource(), postGlobalBeginLumi(), postGlobalBeginRun(), postGlobalEndLumi(), postGlobalEndRun(), postModuleBeginJob(), postModuleBeginStream(), postModuleConstruction(), postModuleEndJob(), postModuleEndStream(), postModuleEvent(), postModuleEventAcquire(), postModuleEventDelayedGet(), postModuleEventPrefetching(), postModuleGlobalBeginLumi(), postModuleGlobalBeginRun(), postModuleGlobalEndLumi(), postModuleGlobalEndRun(), postModuleStreamBeginLumi(), postModuleStreamBeginRun(), postModuleStreamEndLumi(), postModuleStreamEndRun(), postOpenFile(), postPathEvent(), postSourceConstruction(), postSourceEvent(), postSourceLumi(), postSourceRun(), postStreamBeginLumi(), postStreamBeginRun(), postStreamEndLumi(), postStreamEndRun(), preallocate(), preBeginJob(), preCloseFile(), preEvent(), preEventReadFromSource(), preGlobalBeginLumi(), preGlobalBeginRun(), preGlobalEndLumi(), preGlobalEndRun(), preModuleBeginJob(), preModuleBeginStream(), preModuleConstruction(), preModuleEndJob(), preModuleEndStream(), preModuleEvent(), preModuleEventAcquire(), preModuleEventDelayedGet(), preModuleEventPrefetching(), preModuleGlobalBeginLumi(), preModuleGlobalBeginRun(), preModuleGlobalEndLumi(), preModuleGlobalEndRun(), preModuleStreamBeginLumi(), preModuleStreamBeginRun(), preModuleStreamEndLumi(), preModuleStreamEndRun(), preOpenFile(), prePathEvent(), preSourceConstruction(), preSourceEvent(), preSourceLumi(), preSourceRun(), preStreamBeginLumi(), preStreamBeginRun(), preStreamEndLumi(), preStreamEndRun(), showModulePrefetching_, skipFirstEvent_, edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPostCloseFile(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEvent(), edm::ActivityRegistry::watchPostEventReadFromSource(), edm::ActivityRegistry::watchPostGlobalBeginLumi(), edm::ActivityRegistry::watchPostGlobalBeginRun(), edm::ActivityRegistry::watchPostGlobalEndLumi(), edm::ActivityRegistry::watchPostGlobalEndRun(), edm::ActivityRegistry::watchPostModuleBeginJob(), edm::ActivityRegistry::watchPostModuleBeginStream(), edm::ActivityRegistry::watchPostModuleConstruction(), edm::ActivityRegistry::watchPostModuleEndJob(), edm::ActivityRegistry::watchPostModuleEndStream(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPostModuleEventAcquire(), edm::ActivityRegistry::watchPostModuleEventDelayedGet(), edm::ActivityRegistry::watchPostModuleEventPrefetching(), edm::ActivityRegistry::watchPostModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPostModuleGlobalBeginRun(), edm::ActivityRegistry::watchPostModuleGlobalEndLumi(), edm::ActivityRegistry::watchPostModuleGlobalEndRun(), edm::ActivityRegistry::watchPostModuleStreamBeginLumi(), edm::ActivityRegistry::watchPostModuleStreamBeginRun(), edm::ActivityRegistry::watchPostModuleStreamEndLumi(), edm::ActivityRegistry::watchPostModuleStreamEndRun(), edm::ActivityRegistry::watchPostOpenFile(), edm::ActivityRegistry::watchPostPathEvent(), edm::ActivityRegistry::watchPostSourceConstruction(), edm::ActivityRegistry::watchPostSourceEvent(), edm::ActivityRegistry::watchPostSourceLumi(), edm::ActivityRegistry::watchPostSourceRun(), edm::ActivityRegistry::watchPostStreamBeginLumi(), edm::ActivityRegistry::watchPostStreamBeginRun(), edm::ActivityRegistry::watchPostStreamEndLumi(), edm::ActivityRegistry::watchPostStreamEndRun(), edm::ActivityRegistry::watchPreallocate(), edm::ActivityRegistry::watchPreBeginJob(), edm::ActivityRegistry::watchPreCloseFile(), edm::ActivityRegistry::watchPreEvent(), edm::ActivityRegistry::watchPreEventReadFromSource(), edm::ActivityRegistry::watchPreGlobalBeginLumi(), edm::ActivityRegistry::watchPreGlobalBeginRun(), edm::ActivityRegistry::watchPreGlobalEndLumi(), edm::ActivityRegistry::watchPreGlobalEndRun(), edm::ActivityRegistry::watchPreModuleBeginJob(), edm::ActivityRegistry::watchPreModuleBeginStream(), edm::ActivityRegistry::watchPreModuleConstruction(), edm::ActivityRegistry::watchPreModuleEndJob(), edm::ActivityRegistry::watchPreModuleEndStream(), edm::ActivityRegistry::watchPreModuleEvent(), edm::ActivityRegistry::watchPreModuleEventAcquire(), edm::ActivityRegistry::watchPreModuleEventDelayedGet(), edm::ActivityRegistry::watchPreModuleEventPrefetching(), edm::ActivityRegistry::watchPreModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPreModuleGlobalBeginRun(), edm::ActivityRegistry::watchPreModuleGlobalEndLumi(), edm::ActivityRegistry::watchPreModuleGlobalEndRun(), edm::ActivityRegistry::watchPreModuleStreamBeginLumi(), edm::ActivityRegistry::watchPreModuleStreamBeginRun(), edm::ActivityRegistry::watchPreModuleStreamEndLumi(), edm::ActivityRegistry::watchPreModuleStreamEndRun(), edm::ActivityRegistry::watchPreOpenFile(), edm::ActivityRegistry::watchPrePathEvent(), edm::ActivityRegistry::watchPreSourceConstruction(), edm::ActivityRegistry::watchPreSourceEvent(), edm::ActivityRegistry::watchPreSourceLumi(), edm::ActivityRegistry::watchPreSourceRun(), edm::ActivityRegistry::watchPreStreamBeginLumi(), edm::ActivityRegistry::watchPreStreamBeginRun(), edm::ActivityRegistry::watchPreStreamEndLumi(), and edm::ActivityRegistry::watchPreStreamEndRun().

◆ ~NVProfilerService()

NVProfilerService::~NVProfilerService ( )

Definition at line 467 of file NVProfilerService.cc.

467  {
468  for (unsigned int sid = 0; sid < stream_domain_.size(); ++sid) {
469  nvtxDomainDestroy(stream_domain_[sid]);
470  }
471  nvtxDomainDestroy(global_domain_);
472  cudaProfilerStop();
473 }

References global_domain_, and stream_domain_.

Member Function Documentation

◆ fillDescriptions()

void NVProfilerService::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 475 of file NVProfilerService.cc.

475  {
477  desc.addUntracked<std::vector<std::string>>("highlightModules", {})->setComment("");
478  desc.addUntracked<bool>("showModulePrefetching", false)
479  ->setComment("Show the stack of dependencies that requested to run a module.");
480  desc.addUntracked<bool>("skipFirstEvent", false)
481  ->setComment(
482  "Start profiling after the first event has completed.\nWith multiple streams, ignore transitions belonging "
483  "to events started in parallel to the first event.\nRequires running nvprof with the '--profile-from-start "
484  "off' option.");
485  descriptions.add("NVProfilerService", desc);
486  descriptions.setComment(R"(This Service provides CMSSW-aware annotations to nvprof/nvvm.
487 
488 Notes on nvprof options:
489  - the option '--profile-from-start off' should be used if skipFirstEvent is True.
490  - the option '--cpu-profiling on' currently results in cmsRun being stuck at the beginning of the job.
491  - the option '--cpu-thread-tracing on' is not compatible with jemalloc, and should only be used with cmsRunGlibC.)");
492 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and edm::ConfigurationDescriptions::setComment().

◆ highlight()

bool NVProfilerService::highlight ( std::string const &  label) const
inlineprivate

Definition at line 277 of file NVProfilerService.cc.

277  {
278  return (std::binary_search(highlightModules_.begin(), highlightModules_.end(), label));
279  }

References label.

◆ labelColor()

uint32_t NVProfilerService::labelColor ( std::string const &  label) const
inlineprivate

◆ labelColorLight()

uint32_t NVProfilerService::labelColorLight ( std::string const &  label) const
inlineprivate

Definition at line 283 of file NVProfilerService.cc.

283  {
284  return highlight(label) ? nvtxLightAmber : nvtxLightGreen;
285  }

References label.

Referenced by preModuleEventPrefetching().

◆ postBeginJob()

void NVProfilerService::postBeginJob ( )

Definition at line 532 of file NVProfilerService.cc.

532  {
534  nvtxDomainMark(global_domain_, "postBeginJob");
535  }
536 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postCloseFile()

void NVProfilerService::postCloseFile ( std::string const &  lfn,
bool   
)

Definition at line 598 of file NVProfilerService.cc.

598  {
600  nvtxDomainRangePop(global_domain_);
601  }
602 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postEndJob()

void NVProfilerService::postEndJob ( )

Definition at line 538 of file NVProfilerService.cc.

538  {
540  nvtxDomainMark(global_domain_, "postEndJob");
541  }
542 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postEvent()

void NVProfilerService::postEvent ( edm::StreamContext const &  sc)

Definition at line 753 of file NVProfilerService.cc.

753  {
754  auto sid = sc.streamID();
756  nvtxDomainRangeEnd(stream_domain_[sid], event_[sid]);
757  event_[sid] = nvtxInvalidRangeId;
758  } else {
759  streamFirstEventDone_[sid] = true;
760  auto identity = [](bool x) { return x; };
761  if (std::all_of(streamFirstEventDone_.begin(), streamFirstEventDone_.end(), identity)) {
762  bool expected = false;
763  if (globalFirstEventDone_.compare_exchange_strong(expected, true))
764  cudaProfilerStart();
765  }
766  }
767 }

References event_, globalFirstEventDone_, identity(), or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, edm::StreamContext::streamID(), and x.

Referenced by NVProfilerService().

◆ postEventReadFromSource()

void NVProfilerService::postEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 933 of file NVProfilerService.cc.

933  {
934  /* FIXME
935  auto sid = sc.streamID();
936  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
937  auto mid = mcc.moduleDescription()->id();
938  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
939  stream_modules_[sid][mid] = nvtxInvalidRangeId;
940  }
941  */
942 }

Referenced by NVProfilerService().

◆ postGlobalBeginLumi()

void NVProfilerService::postGlobalBeginLumi ( edm::GlobalContext const &  gc)

Definition at line 702 of file NVProfilerService.cc.

702  {
704  nvtxDomainRangePop(global_domain_);
705  }
706 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postGlobalBeginRun()

void NVProfilerService::postGlobalBeginRun ( edm::GlobalContext const &  gc)

Definition at line 650 of file NVProfilerService.cc.

650  {
652  nvtxDomainRangePop(global_domain_);
653  }
654 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postGlobalEndLumi()

void NVProfilerService::postGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 714 of file NVProfilerService.cc.

714  {
716  nvtxDomainRangePop(global_domain_);
717  }
718 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postGlobalEndRun()

void NVProfilerService::postGlobalEndRun ( edm::GlobalContext const &  gc)

Definition at line 662 of file NVProfilerService.cc.

662  {
664  nvtxDomainRangePop(global_domain_);
665  }
666 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleBeginJob()

void NVProfilerService::postModuleBeginJob ( edm::ModuleDescription const &  desc)

Definition at line 832 of file NVProfilerService.cc.

832  {
833  if (not skipFirstEvent_) {
834  auto mid = desc.id();
835  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
836  global_modules_[mid] = nvtxInvalidRangeId;
837  }
838 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleBeginStream()

void NVProfilerService::postModuleBeginStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 615 of file NVProfilerService.cc.

615  {
616  auto sid = sc.streamID();
618  auto mid = mcc.moduleDescription()->id();
619  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
620  stream_modules_[sid][mid] = nvtxInvalidRangeId;
621  }
622 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleConstruction()

void NVProfilerService::postModuleConstruction ( edm::ModuleDescription const &  desc)

Definition at line 815 of file NVProfilerService.cc.

815  {
816  if (not skipFirstEvent_) {
817  auto mid = desc.id();
818  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
819  global_modules_[mid] = nvtxInvalidRangeId;
820  }
821 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleEndJob()

void NVProfilerService::postModuleEndJob ( edm::ModuleDescription const &  desc)

Definition at line 849 of file NVProfilerService.cc.

849  {
851  auto mid = desc.id();
852  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
853  global_modules_[mid] = nvtxInvalidRangeId;
854  }
855 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleEndStream()

void NVProfilerService::postModuleEndStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 635 of file NVProfilerService.cc.

635  {
636  auto sid = sc.streamID();
638  auto mid = mcc.moduleDescription()->id();
639  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
640  stream_modules_[sid][mid] = nvtxInvalidRangeId;
641  }
642 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleEvent()

void NVProfilerService::postModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 887 of file NVProfilerService.cc.

887  {
888  auto sid = sc.streamID();
890  auto mid = mcc.moduleDescription()->id();
891  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
892  stream_modules_[sid][mid] = nvtxInvalidRangeId;
893  }
894 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleEventAcquire()

void NVProfilerService::postModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 868 of file NVProfilerService.cc.

868  {
869  auto sid = sc.streamID();
871  auto mid = mcc.moduleDescription()->id();
872  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
873  stream_modules_[sid][mid] = nvtxInvalidRangeId;
874  }
875 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleEventDelayedGet()

void NVProfilerService::postModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 909 of file NVProfilerService.cc.

909  {
910  /* FIXME
911  auto sid = sc.streamID();
912  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
913  auto mid = mcc.moduleDescription()->id();
914  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
915  stream_modules_[sid][mid] = nvtxInvalidRangeId;
916  }
917  */
918 }

Referenced by NVProfilerService().

◆ postModuleEventPrefetching()

void NVProfilerService::postModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 796 of file NVProfilerService.cc.

796  {
797  auto sid = sc.streamID();
799  auto mid = mcc.moduleDescription()->id();
800  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
801  stream_modules_[sid][mid] = nvtxInvalidRangeId;
802  }
803 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleGlobalBeginLumi()

void NVProfilerService::postModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1067 of file NVProfilerService.cc.

1067  {
1069  auto mid = mcc.moduleDescription()->id();
1070  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
1071  global_modules_[mid] = nvtxInvalidRangeId;
1072  }
1073 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleGlobalBeginRun()

void NVProfilerService::postModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1033 of file NVProfilerService.cc.

1033  {
1035  auto mid = mcc.moduleDescription()->id();
1036  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
1037  global_modules_[mid] = nvtxInvalidRangeId;
1038  }
1039 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleGlobalEndLumi()

void NVProfilerService::postModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1084 of file NVProfilerService.cc.

1084  {
1086  auto mid = mcc.moduleDescription()->id();
1087  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
1088  global_modules_[mid] = nvtxInvalidRangeId;
1089  }
1090 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleGlobalEndRun()

void NVProfilerService::postModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1050 of file NVProfilerService.cc.

1050  {
1052  auto mid = mcc.moduleDescription()->id();
1053  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
1054  global_modules_[mid] = nvtxInvalidRangeId;
1055  }
1056 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postModuleStreamBeginLumi()

void NVProfilerService::postModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 995 of file NVProfilerService.cc.

995  {
996  auto sid = sc.streamID();
998  auto mid = mcc.moduleDescription()->id();
999  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
1000  stream_modules_[sid][mid] = nvtxInvalidRangeId;
1001  }
1002 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleStreamBeginRun()

void NVProfilerService::postModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 955 of file NVProfilerService.cc.

955  {
956  auto sid = sc.streamID();
958  auto mid = mcc.moduleDescription()->id();
959  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
960  stream_modules_[sid][mid] = nvtxInvalidRangeId;
961  }
962 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleStreamEndLumi()

void NVProfilerService::postModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1015 of file NVProfilerService.cc.

1015  {
1016  auto sid = sc.streamID();
1017  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
1018  auto mid = mcc.moduleDescription()->id();
1019  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
1020  stream_modules_[sid][mid] = nvtxInvalidRangeId;
1021  }
1022 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postModuleStreamEndRun()

void NVProfilerService::postModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 975 of file NVProfilerService.cc.

975  {
976  auto sid = sc.streamID();
978  auto mid = mcc.moduleDescription()->id();
979  nvtxDomainRangeEnd(stream_domain_[sid], stream_modules_[sid][mid]);
980  stream_modules_[sid][mid] = nvtxInvalidRangeId;
981  }
982 }

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postOpenFile()

void NVProfilerService::postOpenFile ( std::string const &  lfn,
bool   
)

Definition at line 586 of file NVProfilerService.cc.

586  {
588  nvtxDomainRangePop(global_domain_);
589  }
590 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postPathEvent()

void NVProfilerService::postPathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc,
edm::HLTPathStatus const &  hlts 
)

Definition at line 776 of file NVProfilerService.cc.

778  {
779  auto sid = sc.streamID();
781  nvtxDomainMark(global_domain_, ("after path "s + pc.pathName()).c_str());
782  }
783 }

References global_domain_, or, edm::PathContext::pathName(), alignCSCRings::s, skipFirstEvent_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postSourceConstruction()

void NVProfilerService::postSourceConstruction ( edm::ModuleDescription const &  desc)

Definition at line 1102 of file NVProfilerService.cc.

1102  {
1103  if (not skipFirstEvent_) {
1104  auto mid = desc.id();
1105  nvtxDomainRangeEnd(global_domain_, global_modules_[mid]);
1106  global_modules_[mid] = nvtxInvalidRangeId;
1107  }
1108 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postSourceEvent()

void NVProfilerService::postSourceEvent ( edm::StreamID  sid)

Definition at line 550 of file NVProfilerService.cc.

550  {
552  nvtxDomainRangePop(stream_domain_[sid]);
553  }
554 }

References or, skipFirstEvent_, stream_domain_, and streamFirstEventDone_.

Referenced by NVProfilerService().

◆ postSourceLumi()

void NVProfilerService::postSourceLumi ( edm::LuminosityBlockIndex  index)

Definition at line 562 of file NVProfilerService.cc.

562  {
564  nvtxDomainRangePop(global_domain_);
565  }
566 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postSourceRun()

void NVProfilerService::postSourceRun ( edm::RunIndex  index)

Definition at line 574 of file NVProfilerService.cc.

574  {
576  nvtxDomainRangePop(global_domain_);
577  }
578 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ postStreamBeginLumi()

void NVProfilerService::postStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 727 of file NVProfilerService.cc.

727  {
728  auto sid = sc.streamID();
730  nvtxDomainRangePop(stream_domain_[sid]);
731  }
732 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postStreamBeginRun()

void NVProfilerService::postStreamBeginRun ( edm::StreamContext const &  sc)

Definition at line 675 of file NVProfilerService.cc.

675  {
676  auto sid = sc.streamID();
678  nvtxDomainRangePop(stream_domain_[sid]);
679  }
680 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postStreamEndLumi()

void NVProfilerService::postStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 739 of file NVProfilerService.cc.

739  {
740  auto sid = sc.streamID();
742  nvtxDomainRangePop(stream_domain_[sid]);
743  }
744 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ postStreamEndRun()

void NVProfilerService::postStreamEndRun ( edm::StreamContext const &  sc)

Definition at line 689 of file NVProfilerService.cc.

689  {
690  auto sid = sc.streamID();
692  nvtxDomainRangePop(stream_domain_[sid]);
693  }
694 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preallocate()

void NVProfilerService::preallocate ( edm::service::SystemBounds const &  bounds)

Definition at line 494 of file NVProfilerService.cc.

494  {
495  std::stringstream out;
496  out << "preallocate: " << bounds.maxNumberOfConcurrentRuns() << " concurrent runs, "
497  << bounds.maxNumberOfConcurrentLuminosityBlocks() << " luminosity sections, " << bounds.maxNumberOfStreams()
498  << " streams\nrunning on" << bounds.maxNumberOfThreads() << " threads";
499  nvtxDomainMark(global_domain_, out.str().c_str());
500 
501  auto concurrentStreams = bounds.maxNumberOfStreams();
502  // create the NVTX domains for per-EDM-stream transitions
503  stream_domain_.resize(concurrentStreams);
504  for (unsigned int sid = 0; sid < concurrentStreams; ++sid) {
505  stream_domain_[sid] = nvtxDomainCreate((boost::format("EDM Stream %d") % sid).str().c_str());
506  }
507 
508  event_.resize(concurrentStreams);
509  stream_modules_.resize(concurrentStreams);
510  if (skipFirstEvent_) {
511  globalFirstEventDone_ = false;
512  std::vector<std::atomic<bool>> tmp(concurrentStreams);
513  for (auto& element : tmp)
514  std::atomic_init(&element, false);
516  }
517 }

References event_, dqm-mbProfile::format, global_domain_, globalFirstEventDone_, edm::service::SystemBounds::maxNumberOfConcurrentLuminosityBlocks(), edm::service::SystemBounds::maxNumberOfConcurrentRuns(), edm::service::SystemBounds::maxNumberOfStreams(), edm::service::SystemBounds::maxNumberOfThreads(), eostools::move(), MillePedeFileConverter_cfg::out, skipFirstEvent_, str, stream_domain_, stream_modules_, streamFirstEventDone_, and createJobs::tmp.

Referenced by NVProfilerService().

◆ preBeginJob()

void NVProfilerService::preBeginJob ( edm::PathsAndConsumesOfModulesBase const &  pathsAndConsumes,
edm::ProcessContext const &  pc 
)

Definition at line 519 of file NVProfilerService.cc.

520  {
521  nvtxDomainMark(global_domain_, "preBeginJob");
522 
523  // FIXME this probably works only in the absence of subprocesses
524  // size() + 1 because pathsAndConsumes.allModules() does not include the source
525  unsigned int modules = pathsAndConsumes.allModules().size() + 1;
526  global_modules_.resize(modules, nvtxInvalidRangeId);
527  for (unsigned int sid = 0; sid < stream_modules_.size(); ++sid) {
528  stream_modules_[sid].resize(modules, nvtxInvalidRangeId);
529  }
530 }

References edm::PathsAndConsumesOfModulesBase::allModules(), global_domain_, global_modules_, and stream_modules_.

Referenced by NVProfilerService().

◆ preCloseFile()

void NVProfilerService::preCloseFile ( std::string const &  lfn,
bool   
)

Definition at line 592 of file NVProfilerService.cc.

592  {
594  nvtxDomainRangePush(global_domain_, ("close file "s + lfn).c_str());
595  }
596 }

References global_domain_, globalFirstEventDone_, or, alignCSCRings::s, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preEvent()

void NVProfilerService::preEvent ( edm::StreamContext const &  sc)

Definition at line 746 of file NVProfilerService.cc.

746  {
747  auto sid = sc.streamID();
749  event_[sid] = nvtxDomainRangeStartColor(stream_domain_[sid], "event", nvtxDarkGreen);
750  }
751 }

References event_, or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preEventReadFromSource()

void NVProfilerService::preEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 920 of file NVProfilerService.cc.

920  {
921  /* FIXME
922  auto sid = sc.streamID();
923  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
924  auto mid = mcc.moduleDescription()->id();
925  auto const & label = mcc.moduleDescription()->moduleLabel();
926  auto const & msg = label + " read from source";
927  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
928  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColorLight(label));
929  }
930  */
931 }

Referenced by NVProfilerService().

◆ preGlobalBeginLumi()

void NVProfilerService::preGlobalBeginLumi ( edm::GlobalContext const &  gc)

Definition at line 696 of file NVProfilerService.cc.

696  {
698  nvtxDomainRangePush(global_domain_, "global begin lumi");
699  }
700 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preGlobalBeginRun()

void NVProfilerService::preGlobalBeginRun ( edm::GlobalContext const &  gc)

Definition at line 644 of file NVProfilerService.cc.

644  {
646  nvtxDomainRangePush(global_domain_, "global begin run");
647  }
648 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preGlobalEndLumi()

void NVProfilerService::preGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 708 of file NVProfilerService.cc.

708  {
710  nvtxDomainRangePush(global_domain_, "global end lumi");
711  }
712 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preGlobalEndRun()

void NVProfilerService::preGlobalEndRun ( edm::GlobalContext const &  gc)

Definition at line 656 of file NVProfilerService.cc.

656  {
658  nvtxDomainRangePush(global_domain_, "global end run");
659  }
660 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleBeginJob()

void NVProfilerService::preModuleBeginJob ( edm::ModuleDescription const &  desc)

Definition at line 823 of file NVProfilerService.cc.

823  {
824  if (not skipFirstEvent_) {
825  auto mid = desc.id();
826  auto const& label = desc.moduleLabel();
827  auto const& msg = label + " begin job";
828  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
829  }
830 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleDescription::moduleLabel(), mps_check::msg, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleBeginStream()

void NVProfilerService::preModuleBeginStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 604 of file NVProfilerService.cc.

604  {
605  auto sid = sc.streamID();
607  auto mid = mcc.moduleDescription()->id();
608  auto const& label = mcc.moduleDescription()->moduleLabel();
609  auto const& msg = label + " begin stream";
610  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
611  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
612  }
613 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleConstruction()

void NVProfilerService::preModuleConstruction ( edm::ModuleDescription const &  desc)

Definition at line 805 of file NVProfilerService.cc.

805  {
806  if (not skipFirstEvent_) {
807  auto mid = desc.id();
808  global_modules_.grow_to_at_least(mid + 1);
809  auto const& label = desc.moduleLabel();
810  auto const& msg = label + " construction";
811  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
812  }
813 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleDescription::moduleLabel(), mps_check::msg, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleEndJob()

void NVProfilerService::preModuleEndJob ( edm::ModuleDescription const &  desc)

Definition at line 840 of file NVProfilerService.cc.

840  {
842  auto mid = desc.id();
843  auto const& label = desc.moduleLabel();
844  auto const& msg = label + " end job";
845  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
846  }
847 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleEndStream()

void NVProfilerService::preModuleEndStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 624 of file NVProfilerService.cc.

624  {
625  auto sid = sc.streamID();
627  auto mid = mcc.moduleDescription()->id();
628  auto const& label = mcc.moduleDescription()->moduleLabel();
629  auto const& msg = label + " end stream";
630  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
631  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
632  }
633 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleEvent()

void NVProfilerService::preModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 877 of file NVProfilerService.cc.

877  {
878  auto sid = sc.streamID();
880  auto mid = mcc.moduleDescription()->id();
881  auto const& label = mcc.moduleDescription()->moduleLabel();
882  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
883  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], label.c_str(), labelColor(label));
884  }
885 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleEventAcquire()

void NVProfilerService::preModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 857 of file NVProfilerService.cc.

857  {
858  auto sid = sc.streamID();
860  auto mid = mcc.moduleDescription()->id();
861  auto const& label = mcc.moduleDescription()->moduleLabel();
862  auto const& msg = label + " acquire";
863  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
864  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
865  }
866 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleEventDelayedGet()

void NVProfilerService::preModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 896 of file NVProfilerService.cc.

896  {
897  /* FIXME
898  auto sid = sc.streamID();
899  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
900  auto mid = mcc.moduleDescription()->id();
901  auto const & label = mcc.moduleDescription()->moduleLabel();
902  auto const & msg = label + " delayed get";
903  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
904  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], label.c_str(), labelColorLight(label));
905  }
906  */
907 }

Referenced by NVProfilerService().

◆ preModuleEventPrefetching()

void NVProfilerService::preModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 785 of file NVProfilerService.cc.

785  {
786  auto sid = sc.streamID();
788  auto mid = mcc.moduleDescription()->id();
789  auto const& label = mcc.moduleDescription()->moduleLabel();
790  auto const& msg = label + " prefetching";
791  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
792  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColorLight(label));
793  }
794 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColorLight(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleGlobalBeginLumi()

void NVProfilerService::preModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1058 of file NVProfilerService.cc.

1058  {
1060  auto mid = mcc.moduleDescription()->id();
1061  auto const& label = mcc.moduleDescription()->moduleLabel();
1062  auto const& msg = label + " global begin lumi";
1063  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
1064  }
1065 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleGlobalBeginRun()

void NVProfilerService::preModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1024 of file NVProfilerService.cc.

1024  {
1026  auto mid = mcc.moduleDescription()->id();
1027  auto const& label = mcc.moduleDescription()->moduleLabel();
1028  auto const& msg = label + " global begin run";
1029  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
1030  }
1031 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleGlobalEndLumi()

void NVProfilerService::preModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1075 of file NVProfilerService.cc.

1075  {
1077  auto mid = mcc.moduleDescription()->id();
1078  auto const& label = mcc.moduleDescription()->moduleLabel();
1079  auto const& msg = label + " global end lumi";
1080  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
1081  }
1082 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleGlobalEndRun()

void NVProfilerService::preModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1041 of file NVProfilerService.cc.

1041  {
1043  auto mid = mcc.moduleDescription()->id();
1044  auto const& label = mcc.moduleDescription()->moduleLabel();
1045  auto const& msg = label + " global end run";
1046  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
1047  }
1048 }

References global_domain_, global_modules_, globalFirstEventDone_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preModuleStreamBeginLumi()

void NVProfilerService::preModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 984 of file NVProfilerService.cc.

984  {
985  auto sid = sc.streamID();
987  auto mid = mcc.moduleDescription()->id();
988  auto const& label = mcc.moduleDescription()->moduleLabel();
989  auto const& msg = label + " stream begin lumi";
990  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
991  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
992  }
993 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleStreamBeginRun()

void NVProfilerService::preModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 944 of file NVProfilerService.cc.

944  {
945  auto sid = sc.streamID();
947  auto mid = mcc.moduleDescription()->id();
948  auto const& label = mcc.moduleDescription()->moduleLabel();
949  auto const& msg = label + " stream begin run";
950  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
951  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
952  }
953 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleStreamEndLumi()

void NVProfilerService::preModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1004 of file NVProfilerService.cc.

1004  {
1005  auto sid = sc.streamID();
1006  if (not skipFirstEvent_ or streamFirstEventDone_[sid]) {
1007  auto mid = mcc.moduleDescription()->id();
1008  auto const& label = mcc.moduleDescription()->moduleLabel();
1009  auto const& msg = label + " stream end lumi";
1010  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
1011  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
1012  }
1013 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preModuleStreamEndRun()

void NVProfilerService::preModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 964 of file NVProfilerService.cc.

964  {
965  auto sid = sc.streamID();
967  auto mid = mcc.moduleDescription()->id();
968  auto const& label = mcc.moduleDescription()->moduleLabel();
969  auto const& msg = label + " stream end run";
970  assert(stream_modules_[sid][mid] == nvtxInvalidRangeId);
971  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain_[sid], msg.c_str(), labelColor(label));
972  }
973 }

References cms::cuda::assert(), edm::ModuleDescription::id(), label, labelColor(), edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, or, skipFirstEvent_, stream_domain_, stream_modules_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preOpenFile()

void NVProfilerService::preOpenFile ( std::string const &  lfn,
bool   
)

Definition at line 580 of file NVProfilerService.cc.

580  {
582  nvtxDomainRangePush(global_domain_, ("open file "s + lfn).c_str());
583  }
584 }

References global_domain_, globalFirstEventDone_, or, alignCSCRings::s, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ prePathEvent()

void NVProfilerService::prePathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc 
)

Definition at line 769 of file NVProfilerService.cc.

769  {
770  auto sid = sc.streamID();
772  nvtxDomainMark(global_domain_, ("before path "s + pc.pathName()).c_str());
773  }
774 }

References global_domain_, or, edm::PathContext::pathName(), alignCSCRings::s, skipFirstEvent_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preSourceConstruction()

void NVProfilerService::preSourceConstruction ( edm::ModuleDescription const &  desc)

Definition at line 1092 of file NVProfilerService.cc.

1092  {
1093  if (not skipFirstEvent_) {
1094  auto mid = desc.id();
1095  global_modules_.grow_to_at_least(mid + 1);
1096  auto const& label = desc.moduleLabel();
1097  auto const& msg = label + " construction";
1098  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain_, msg.c_str(), labelColor(label));
1099  }
1100 }

References global_domain_, global_modules_, edm::ModuleDescription::id(), label, labelColor(), edm::ModuleDescription::moduleLabel(), mps_check::msg, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preSourceEvent()

void NVProfilerService::preSourceEvent ( edm::StreamID  sid)

Definition at line 544 of file NVProfilerService.cc.

544  {
546  nvtxDomainRangePush(stream_domain_[sid], "source");
547  }
548 }

References or, skipFirstEvent_, stream_domain_, and streamFirstEventDone_.

Referenced by NVProfilerService().

◆ preSourceLumi()

void NVProfilerService::preSourceLumi ( edm::LuminosityBlockIndex  index)

Definition at line 556 of file NVProfilerService.cc.

556  {
558  nvtxDomainRangePush(global_domain_, "source lumi");
559  }
560 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preSourceRun()

void NVProfilerService::preSourceRun ( edm::RunIndex  index)

Definition at line 568 of file NVProfilerService.cc.

568  {
570  nvtxDomainRangePush(global_domain_, "source run");
571  }
572 }

References global_domain_, globalFirstEventDone_, or, and skipFirstEvent_.

Referenced by NVProfilerService().

◆ preStreamBeginLumi()

void NVProfilerService::preStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 720 of file NVProfilerService.cc.

720  {
721  auto sid = sc.streamID();
723  nvtxDomainRangePush(stream_domain_[sid], "stream begin lumi");
724  }
725 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preStreamBeginRun()

void NVProfilerService::preStreamBeginRun ( edm::StreamContext const &  sc)

Definition at line 668 of file NVProfilerService.cc.

668  {
669  auto sid = sc.streamID();
671  nvtxDomainRangePush(stream_domain_[sid], "stream begin run");
672  }
673 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preStreamEndLumi()

void NVProfilerService::preStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 734 of file NVProfilerService.cc.

734  {
735  auto sid = sc.streamID();
736  nvtxDomainRangePush(stream_domain_[sid], "stream end lumi");
737 }

References stream_domain_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

◆ preStreamEndRun()

void NVProfilerService::preStreamEndRun ( edm::StreamContext const &  sc)

Definition at line 682 of file NVProfilerService.cc.

682  {
683  auto sid = sc.streamID();
685  nvtxDomainRangePush(stream_domain_[sid], "stream end run");
686  }
687 }

References or, skipFirstEvent_, stream_domain_, streamFirstEventDone_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

Member Data Documentation

◆ event_

std::vector<nvtxRangeId_t> NVProfilerService::event_
private

Definition at line 293 of file NVProfilerService.cc.

Referenced by postEvent(), preallocate(), and preEvent().

◆ global_domain_

nvtxDomainHandle_t NVProfilerService::global_domain_
private

◆ global_modules_

tbb::concurrent_vector<nvtxRangeId_t> NVProfilerService::global_modules_
private

◆ globalFirstEventDone_

std::atomic<bool> NVProfilerService::globalFirstEventDone_ = false
private

◆ highlightModules_

std::vector<std::string> NVProfilerService::highlightModules_
private

Definition at line 287 of file NVProfilerService.cc.

Referenced by NVProfilerService().

◆ showModulePrefetching_

const bool NVProfilerService::showModulePrefetching_
private

Definition at line 288 of file NVProfilerService.cc.

Referenced by NVProfilerService().

◆ skipFirstEvent_

const bool NVProfilerService::skipFirstEvent_
private

Definition at line 289 of file NVProfilerService.cc.

Referenced by NVProfilerService(), postBeginJob(), postCloseFile(), postEndJob(), postEvent(), postGlobalBeginLumi(), postGlobalBeginRun(), postGlobalEndLumi(), postGlobalEndRun(), postModuleBeginJob(), postModuleBeginStream(), postModuleConstruction(), postModuleEndJob(), postModuleEndStream(), postModuleEvent(), postModuleEventAcquire(), postModuleEventPrefetching(), postModuleGlobalBeginLumi(), postModuleGlobalBeginRun(), postModuleGlobalEndLumi(), postModuleGlobalEndRun(), postModuleStreamBeginLumi(), postModuleStreamBeginRun(), postModuleStreamEndLumi(), postModuleStreamEndRun(), postOpenFile(), postPathEvent(), postSourceConstruction(), postSourceEvent(), postSourceLumi(), postSourceRun(), postStreamBeginLumi(), postStreamBeginRun(), postStreamEndLumi(), postStreamEndRun(), preallocate(), preCloseFile(), preEvent(), preGlobalBeginLumi(), preGlobalBeginRun(), preGlobalEndLumi(), preGlobalEndRun(), preModuleBeginJob(), preModuleBeginStream(), preModuleConstruction(), preModuleEndJob(), preModuleEndStream(), preModuleEvent(), preModuleEventAcquire(), preModuleEventPrefetching(), preModuleGlobalBeginLumi(), preModuleGlobalBeginRun(), preModuleGlobalEndLumi(), preModuleGlobalEndRun(), preModuleStreamBeginLumi(), preModuleStreamBeginRun(), preModuleStreamEndLumi(), preModuleStreamEndRun(), preOpenFile(), prePathEvent(), preSourceConstruction(), preSourceEvent(), preSourceLumi(), preSourceRun(), preStreamBeginLumi(), preStreamBeginRun(), and preStreamEndRun().

◆ stream_domain_

std::vector<nvtxDomainHandle_t> NVProfilerService::stream_domain_
private

◆ stream_modules_

std::vector<std::vector<nvtxRangeId_t> > NVProfilerService::stream_modules_
private

◆ streamFirstEventDone_

std::vector<std::atomic<bool> > NVProfilerService::streamFirstEventDone_
private
NVProfilerService::postEvent
void postEvent(edm::StreamContext const &)
Definition: NVProfilerService.cc:753
NVProfilerService::postStreamEndRun
void postStreamEndRun(edm::StreamContext const &)
Definition: NVProfilerService.cc:689
NVProfilerService::postModuleEndJob
void postModuleEndJob(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:849
NVProfilerService::postModuleStreamEndLumi
void postModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1015
NVProfilerService::postSourceLumi
void postSourceLumi(edm::LuminosityBlockIndex)
Definition: NVProfilerService.cc:562
edm::ActivityRegistry::watchPreModuleEndStream
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
Definition: ActivityRegistry.h:258
edm::ActivityRegistry::watchPreModuleBeginStream
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
Definition: ActivityRegistry.h:244
NVProfilerService::preModuleGlobalBeginLumi
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1058
NVProfilerService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: NVProfilerService.cc:720
edm::ActivityRegistry::watchPostStreamEndLumi
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:392
edm::ActivityRegistry::watchPostModuleGlobalEndRun
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:807
NVProfilerService::preSourceRun
void preSourceRun(edm::RunIndex)
Definition: NVProfilerService.cc:568
NVProfilerService::postSourceRun
void postSourceRun(edm::RunIndex)
Definition: NVProfilerService.cc:574
NVProfilerService::preModuleStreamBeginRun
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:944
NVProfilerService::postModuleStreamEndRun
void postModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:975
NVProfilerService::preEventReadFromSource
void preEventReadFromSource(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:920
edm::ActivityRegistry::watchPostSourceRun
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:212
edm::ActivityRegistry::watchPreSourceLumi
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:194
edm::ActivityRegistry::watchPostGlobalEndRun
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:290
edm::ActivityRegistry::watchPostEventReadFromSource
void watchPostEventReadFromSource(PostEventReadFromSource::slot_type const &iSlot)
Definition: ActivityRegistry.h:723
edm::ActivityRegistry::watchPostModuleStreamBeginLumi
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:765
NVProfilerService::postBeginJob
void postBeginJob()
Definition: NVProfilerService.cc:532
modules
Definition: ZHLTMatchFilter.cc:17
edm::ActivityRegistry::watchPreModuleEndJob
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:641
edm::ActivityRegistry::watchPostGlobalEndLumi
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:352
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
NVProfilerService::labelColor
uint32_t labelColor(std::string const &label) const
Definition: NVProfilerService.cc:281
NVProfilerService::preModuleGlobalBeginRun
void preModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1024
edm::ActivityRegistry::watchPostOpenFile
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
Definition: ActivityRegistry.h:225
NVProfilerService::preGlobalEndRun
void preGlobalEndRun(edm::GlobalContext const &)
Definition: NVProfilerService.cc:656
cms::cuda::assert
assert(be >=bs)
NVProfilerService::preModuleEventPrefetching
void preModuleEventPrefetching(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:785
edm::ActivityRegistry::watchPostModuleGlobalBeginRun
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:793
NVProfilerService::postEndJob
void postEndJob()
Definition: NVProfilerService.cc:538
NVProfilerService::preStreamEndRun
void preStreamEndRun(edm::StreamContext const &)
Definition: NVProfilerService.cc:682
mps_check.msg
tuple msg
Definition: mps_check.py:285
NVProfilerService::postModuleGlobalEndRun
void postModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1050
NVProfilerService::postModuleGlobalEndLumi
void postModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1084
DDAxes::x
edm::ActivityRegistry::watchPostModuleStreamEndRun
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:751
NVProfilerService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: NVProfilerService.cc:519
edm::ActivityRegistry::watchPreModuleStreamBeginRun
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:730
edm::ActivityRegistry::watchPreStreamBeginRun
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:309
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
NVProfilerService::highlight
bool highlight(std::string const &label) const
Definition: NVProfilerService.cc:277
NVProfilerService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:868
NVProfilerService::preGlobalEndLumi
void preGlobalEndLumi(edm::GlobalContext const &)
Definition: NVProfilerService.cc:708
NVProfilerService::preModuleBeginJob
void preModuleBeginJob(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:823
NVProfilerService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: NVProfilerService.cc:739
edm::ActivityRegistry::watchPostModuleBeginStream
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
Definition: ActivityRegistry.h:251
edm::ActivityRegistry::watchPostSourceEvent
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:188
edm::ActivityRegistry::watchPreCloseFile
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
Definition: ActivityRegistry.h:233
edm::ActivityRegistry::watchPostModuleEndJob
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:647
edm::ActivityRegistry::watchPostCloseFile
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
Definition: ActivityRegistry.h:239
NVProfilerService::postOpenFile
void postOpenFile(std::string const &, bool)
Definition: NVProfilerService.cc:586
config
Definition: config.py:1
edm::ActivityRegistry::watchPreModuleGlobalBeginLumi
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:814
NVProfilerService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:887
NVProfilerService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:877
alignCSCRings.s
s
Definition: alignCSCRings.py:92
NVProfilerService::preModuleGlobalEndRun
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1041
edm::ActivityRegistry::watchPreModuleStreamEndLumi
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:772
NVProfilerService::preModuleBeginStream
void preModuleBeginStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:604
edm::ActivityRegistry::watchPostEndJob
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:168
edm::ActivityRegistry::watchPreStreamBeginLumi
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:373
edm::ActivityRegistry::watchPreModuleEventPrefetching
void watchPreModuleEventPrefetching(PreModuleEventPrefetching::slot_type const &iSlot)
Definition: ActivityRegistry.h:655
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
NVProfilerService::preSourceEvent
void preSourceEvent(edm::StreamID)
Definition: NVProfilerService.cc:544
NVProfilerService::postSourceConstruction
void postSourceConstruction(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:1102
NVProfilerService::postPathEvent
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
Definition: NVProfilerService.cc:776
NVProfilerService::global_domain_
nvtxDomainHandle_t global_domain_
Definition: NVProfilerService.cc:298
edm::ActivityRegistry::watchPreBeginJob
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:149
edm::ActivityRegistry::watchPostModuleEndStream
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
Definition: ActivityRegistry.h:265
NVProfilerService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:857
NVProfilerService::preStreamEndLumi
void preStreamEndLumi(edm::StreamContext const &)
Definition: NVProfilerService.cc:734
NVProfilerService::preModuleConstruction
void preModuleConstruction(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:805
dqm-mbProfile.format
format
Definition: dqm-mbProfile.py:16
edm::ActivityRegistry::watchPostModuleEventDelayedGet
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:707
edm::ActivityRegistry::watchPreEvent
void watchPreEvent(PreEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:400
edm::ActivityRegistry::watchPostStreamBeginRun
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:314
NVProfilerService::postGlobalBeginLumi
void postGlobalBeginLumi(edm::GlobalContext const &)
Definition: NVProfilerService.cc:702
str
#define str(s)
Definition: TestProcessor.cc:48
NVProfilerService::postModuleStreamBeginRun
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:955
NVProfilerService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: NVProfilerService.cc:696
edm::ActivityRegistry::watchPostBeginJob
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:156
NVProfilerService::event_
std::vector< nvtxRangeId_t > event_
Definition: NVProfilerService.cc:293
edm::ActivityRegistry::watchPreModuleStreamBeginLumi
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:758
NVProfilerService::postEventReadFromSource
void postEventReadFromSource(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:933
edm::ActivityRegistry::watchPostModuleBeginJob
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:633
edm::ActivityRegistry::watchPostModuleConstruction
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
Definition: ActivityRegistry.h:618
edm::ActivityRegistry::watchPreGlobalEndRun
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:285
edm::ActivityRegistry::watchPreEventReadFromSource
void watchPreEventReadFromSource(PreEventReadFromSource::slot_type const &iSlot)
Definition: ActivityRegistry.h:715
NVProfilerService::postModuleGlobalBeginRun
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1033
edm::ActivityRegistry::watchPreSourceConstruction
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
Definition: ActivityRegistry.h:949
edm::ActivityRegistry::watchPreSourceRun
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:206
NVProfilerService::postModuleConstruction
void postModuleConstruction(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:815
NVProfilerService::preCloseFile
void preCloseFile(std::string const &, bool)
Definition: NVProfilerService.cc:592
edm::ActivityRegistry::watchPostSourceLumi
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:200
NVProfilerService::stream_modules_
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
Definition: NVProfilerService.cc:294
NVProfilerService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: NVProfilerService.cc:714
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
edm::ActivityRegistry::watchPreModuleGlobalEndLumi
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:828
edm::ActivityRegistry::watchPreModuleStreamEndRun
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:744
NVProfilerService::preModuleEndJob
void preModuleEndJob(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:840
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:406
NVProfilerService::preStreamBeginRun
void preStreamBeginRun(edm::StreamContext const &)
Definition: NVProfilerService.cc:668
NVProfilerService::preallocate
void preallocate(edm::service::SystemBounds const &)
Definition: NVProfilerService.cc:494
edm::ActivityRegistry::watchPostModuleGlobalEndLumi
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:835
NVProfilerService::preModuleStreamEndRun
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:964
NVProfilerService::preModuleStreamEndLumi
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1004
edm::ActivityRegistry::watchPreStreamEndLumi
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:387
edm::ConfigurationDescriptions::setComment
void setComment(std::string const &value)
Definition: ConfigurationDescriptions.cc:48
NVProfilerService::postGlobalBeginRun
void postGlobalBeginRun(edm::GlobalContext const &)
Definition: NVProfilerService.cc:650
NVProfilerService::preModuleEventDelayedGet
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:896
NVProfilerService::globalFirstEventDone_
std::atomic< bool > globalFirstEventDone_
Definition: NVProfilerService.cc:291
NVProfilerService::postModuleEventPrefetching
void postModuleEventPrefetching(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:796
edm::Service
Definition: Service.h:30
edm::ActivityRegistry::watchPreModuleConstruction
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
Definition: ActivityRegistry.h:609
edm::ActivityRegistry::watchPostGlobalBeginLumi
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:340
NVProfilerService::skipFirstEvent_
const bool skipFirstEvent_
Definition: NVProfilerService.cc:289
NVProfilerService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: NVProfilerService.cc:550
NVProfilerService::streamFirstEventDone_
std::vector< std::atomic< bool > > streamFirstEventDone_
Definition: NVProfilerService.cc:292
NVProfilerService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: NVProfilerService.cc:769
NVProfilerService::postModuleEndStream
void postModuleEndStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:635
edm::ActivityRegistry::watchPostPathEvent
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:418
edm::ActivityRegistry::watchPreModuleGlobalEndRun
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:800
NVProfilerService::preSourceLumi
void preSourceLumi(edm::LuminosityBlockIndex)
Definition: NVProfilerService.cc:556
edm::ActivityRegistry::watchPostModuleStreamEndLumi
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:779
NVProfilerService::showModulePrefetching_
const bool showModulePrefetching_
Definition: NVProfilerService.cc:288
NVProfilerService::preEvent
void preEvent(edm::StreamContext const &)
Definition: NVProfilerService.cc:746
NVProfilerService::preModuleGlobalEndLumi
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1075
identity
T identity(T t)
Definition: trackSplitPlot.h:71
NVProfilerService::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:1092
NVProfilerService::highlightModules_
std::vector< std::string > highlightModules_
Definition: NVProfilerService.cc:287
edm::ActivityRegistry::watchPostModuleEventPrefetching
void watchPostModuleEventPrefetching(PostModuleEventPrefetching::slot_type const &iSlot)
Definition: ActivityRegistry.h:663
edm::ActivityRegistry::watchPreGlobalEndLumi
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:347
edm::ActivityRegistry::watchPreallocate
void watchPreallocate(Preallocate::slot_type const &iSlot)
Definition: ActivityRegistry.h:142
NVProfilerService::postStreamBeginRun
void postStreamBeginRun(edm::StreamContext const &)
Definition: NVProfilerService.cc:675
edm::ActivityRegistry::watchPostStreamBeginLumi
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:380
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:333
edm::ActivityRegistry::watchPreModuleBeginJob
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:627
edm::ActivityRegistry::watchPreOpenFile
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
Definition: ActivityRegistry.h:218
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:677
edm::ActivityRegistry::watchPreStreamEndRun
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:321
edm::ActivityRegistry::watchPreModuleGlobalBeginRun
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:786
edm::ActivityRegistry::watchPostGlobalBeginRun
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:278
NVProfilerService::stream_domain_
std::vector< nvtxDomainHandle_t > stream_domain_
Definition: NVProfilerService.cc:299
NVProfilerService::preGlobalBeginRun
void preGlobalBeginRun(edm::GlobalContext const &)
Definition: NVProfilerService.cc:644
NVProfilerService::postModuleGlobalBeginLumi
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:1067
NVProfilerService::postStreamBeginLumi
void postStreamBeginLumi(edm::StreamContext const &)
Definition: NVProfilerService.cc:727
NVProfilerService::postGlobalEndRun
void postGlobalEndRun(edm::GlobalContext const &)
Definition: NVProfilerService.cc:662
edm::ActivityRegistry::watchPostModuleEventAcquire
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:691
edm::ActivityRegistry::watchPreSourceEvent
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:182
NVProfilerService::postModuleStreamBeginLumi
void postModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:995
NVProfilerService::postModuleEventDelayedGet
void postModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:909
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
NVProfilerService::postModuleBeginJob
void postModuleBeginJob(edm::ModuleDescription const &)
Definition: NVProfilerService.cc:832
NVProfilerService::global_modules_
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
Definition: NVProfilerService.cc:296
edm::ActivityRegistry::watchPostModuleGlobalBeginLumi
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:821
NVProfilerService::preModuleEndStream
void preModuleEndStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:624
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
NVProfilerService::postModuleBeginStream
void postModuleBeginStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:615
edm::ActivityRegistry::watchPreGlobalBeginRun
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:273
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:412
NVProfilerService::preOpenFile
void preOpenFile(std::string const &, bool)
Definition: NVProfilerService.cc:580
edm::ActivityRegistry::watchPreModuleEventAcquire
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:683
NVProfilerService::preModuleStreamBeginLumi
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: NVProfilerService.cc:984
edm::ActivityRegistry::watchPreModuleEventDelayedGet
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:699
edm::ActivityRegistry::watchPostSourceConstruction
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
Definition: ActivityRegistry.h:958
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::ActivityRegistry::watchPostModuleStreamBeginRun
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:737
edm::ActivityRegistry::watchPostStreamEndRun
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:326
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:671
NVProfilerService::labelColorLight
uint32_t labelColorLight(std::string const &label) const
Definition: NVProfilerService.cc:283
NVProfilerService::postCloseFile
void postCloseFile(std::string const &, bool)
Definition: NVProfilerService.cc:598