CMS 3D CMS Logo

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

Classes

struct  Domains
 

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

nvtxDomainHandle_t global_domain ()
 
bool highlight (std::string const &)
 
nvtxDomainHandle_t stream_domain (unsigned int sid)
 

Private Attributes

unsigned int concurrentStreams_
 
tbb::enumerable_thread_specific< Domainsdomains_
 
std::vector< nvtxRangeId_t > event_
 
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
 
std::vector< std::string > highlightModules_
 
bool showModulePrefetching_
 
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
 

Friends

struct Domains
 

Detailed Description

Definition at line 123 of file NVProfilerService.cc.

Constructor & Destructor Documentation

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

Definition at line 327 of file NVProfilerService.cc.

References 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(), 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().

327  :
328  highlightModules_(config.getUntrackedParameter<std::vector<std::string>>("highlightModules")),
329  showModulePrefetching_(config.getUntrackedParameter<bool>("showModulePrefetching")),
331  domains_(this)
332 {
333  std::sort(highlightModules_.begin(), highlightModules_.end());
334 
335  // enables profile collection; if profiling is already enabled, has no effect
336  cudaProfilerStart();
337 
338  registry.watchPreallocate(this, &NVProfilerService::preallocate);
339 
340  // these signal pair are NOT guaranteed to be called by the same thread
341  registry.watchPreBeginJob(this, &NVProfilerService::preBeginJob);
342  registry.watchPostBeginJob(this, &NVProfilerService::postBeginJob);
343 
344  // there is no preEndJob() signal
345  registry.watchPostEndJob(this, &NVProfilerService::postEndJob);
346 
347  // these signal pair are NOT guaranteed to be called by the same thread
348  registry.watchPreGlobalBeginRun(this, &NVProfilerService::preGlobalBeginRun);
349  registry.watchPostGlobalBeginRun(this, &NVProfilerService::postGlobalBeginRun);
350 
351  // these signal pair are NOT guaranteed to be called by the same thread
352  registry.watchPreGlobalEndRun(this, &NVProfilerService::preGlobalEndRun);
353  registry.watchPostGlobalEndRun(this, &NVProfilerService::postGlobalEndRun);
354 
355  // these signal pair are NOT guaranteed to be called by the same thread
356  registry.watchPreStreamBeginRun(this, &NVProfilerService::preStreamBeginRun);
357  registry.watchPostStreamBeginRun(this, &NVProfilerService::postStreamBeginRun);
358 
359  // these signal pair are NOT guaranteed to be called by the same thread
360  registry.watchPreStreamEndRun(this, &NVProfilerService::preStreamEndRun);
361  registry.watchPostStreamEndRun(this, &NVProfilerService::postStreamEndRun);
362 
363  // these signal pair are NOT guaranteed to be called by the same thread
364  registry.watchPreGlobalBeginLumi(this, &NVProfilerService::preGlobalBeginLumi);
365  registry.watchPostGlobalBeginLumi(this, &NVProfilerService::postGlobalBeginLumi);
366 
367  // these signal pair are NOT guaranteed to be called by the same thread
368  registry.watchPreGlobalEndLumi(this, &NVProfilerService::preGlobalEndLumi);
369  registry.watchPostGlobalEndLumi(this, &NVProfilerService::postGlobalEndLumi);
370 
371  // these signal pair are NOT guaranteed to be called by the same thread
372  registry.watchPreStreamBeginLumi(this, &NVProfilerService::preStreamBeginLumi);
373  registry.watchPostStreamBeginLumi(this, &NVProfilerService::postStreamBeginLumi);
374 
375  // these signal pair are NOT guaranteed to be called by the same thread
376  registry.watchPreStreamEndLumi(this, &NVProfilerService::preStreamEndLumi);
377  registry.watchPostStreamEndLumi(this, &NVProfilerService::postStreamEndLumi);
378 
379  // these signal pair are NOT guaranteed to be called by the same thread
380  registry.watchPreEvent(this, &NVProfilerService::preEvent);
381  registry.watchPostEvent(this, &NVProfilerService::postEvent);
382 
383  // these signal pair are NOT guaranteed to be called by the same thread
384  registry.watchPrePathEvent(this, &NVProfilerService::prePathEvent);
385  registry.watchPostPathEvent(this, &NVProfilerService::postPathEvent);
386 
387  // these signal pair are NOT guaranteed to be called by the same thread
388  registry.watchPreModuleEventPrefetching(this, &NVProfilerService::preModuleEventPrefetching);
389  registry.watchPostModuleEventPrefetching(this, &NVProfilerService::postModuleEventPrefetching);
390 
391  // these signal pair are guaranteed to be called by the same thread
392  registry.watchPreOpenFile(this, &NVProfilerService::preOpenFile);
393  registry.watchPostOpenFile(this, &NVProfilerService::postOpenFile);
394 
395  // these signal pair are guaranteed to be called by the same thread
396  registry.watchPreCloseFile(this, &NVProfilerService::preCloseFile);
397  registry.watchPostCloseFile(this, &NVProfilerService::postCloseFile);
398 
399  // these signal pair are guaranteed to be called by the same thread
400  registry.watchPreSourceConstruction(this, &NVProfilerService::preSourceConstruction);
401  registry.watchPostSourceConstruction(this, &NVProfilerService::postSourceConstruction);
402 
403  // these signal pair are guaranteed to be called by the same thread
404  registry.watchPreSourceRun(this, &NVProfilerService::preSourceRun);
405  registry.watchPostSourceRun(this, &NVProfilerService::postSourceRun);
406 
407  // these signal pair are guaranteed to be called by the same thread
408  registry.watchPreSourceLumi(this, &NVProfilerService::preSourceLumi);
409  registry.watchPostSourceLumi(this, &NVProfilerService::postSourceLumi);
410 
411  // these signal pair are guaranteed to be called by the same thread
412  registry.watchPreSourceEvent(this, &NVProfilerService::preSourceEvent);
413  registry.watchPostSourceEvent(this, &NVProfilerService::postSourceEvent);
414 
415  // these signal pair are guaranteed to be called by the same thread
416  registry.watchPreModuleConstruction(this, &NVProfilerService::preModuleConstruction);
417  registry.watchPostModuleConstruction(this, &NVProfilerService::postModuleConstruction);
418 
419  // these signal pair are guaranteed to be called by the same thread
420  registry.watchPreModuleBeginJob(this, &NVProfilerService::preModuleBeginJob);
421  registry.watchPostModuleBeginJob(this, &NVProfilerService::postModuleBeginJob);
422 
423  // these signal pair are guaranteed to be called by the same thread
424  registry.watchPreModuleEndJob(this, &NVProfilerService::preModuleEndJob);
425  registry.watchPostModuleEndJob(this, &NVProfilerService::postModuleEndJob);
426 
427  // these signal pair are guaranteed to be called by the same thread
428  registry.watchPreModuleBeginStream(this, &NVProfilerService::preModuleBeginStream);
429  registry.watchPostModuleBeginStream(this, &NVProfilerService::postModuleBeginStream);
430 
431  // these signal pair are guaranteed to be called by the same thread
432  registry.watchPreModuleEndStream(this, &NVProfilerService::preModuleEndStream);
433  registry.watchPostModuleEndStream(this, &NVProfilerService::postModuleEndStream);
434 
435  // these signal pair are guaranteed to be called by the same thread
436  registry.watchPreModuleGlobalBeginRun(this, &NVProfilerService::preModuleGlobalBeginRun);
437  registry.watchPostModuleGlobalBeginRun(this, &NVProfilerService::postModuleGlobalBeginRun);
438 
439  // these signal pair are guaranteed to be called by the same thread
440  registry.watchPreModuleGlobalEndRun(this, &NVProfilerService::preModuleGlobalEndRun);
441  registry.watchPostModuleGlobalEndRun(this, &NVProfilerService::postModuleGlobalEndRun);
442 
443  // these signal pair are guaranteed to be called by the same thread
444  registry.watchPreModuleGlobalBeginLumi(this, &NVProfilerService::preModuleGlobalBeginLumi);
445  registry.watchPostModuleGlobalBeginLumi(this, &NVProfilerService::postModuleGlobalBeginLumi);
446 
447  // these signal pair are guaranteed to be called by the same thread
448  registry.watchPreModuleGlobalEndLumi(this, &NVProfilerService::preModuleGlobalEndLumi);
449  registry.watchPostModuleGlobalEndLumi(this, &NVProfilerService::postModuleGlobalEndLumi);
450 
451  // these signal pair are guaranteed to be called by the same thread
452  registry.watchPreModuleStreamBeginRun(this, &NVProfilerService::preModuleStreamBeginRun);
453  registry.watchPostModuleStreamBeginRun(this, &NVProfilerService::postModuleStreamBeginRun);
454 
455  // these signal pair are guaranteed to be called by the same thread
456  registry.watchPreModuleStreamEndRun(this, &NVProfilerService::preModuleStreamEndRun);
457  registry.watchPostModuleStreamEndRun(this, &NVProfilerService::postModuleStreamEndRun);
458 
459  // these signal pair are guaranteed to be called by the same thread
460  registry.watchPreModuleStreamBeginLumi(this, &NVProfilerService::preModuleStreamBeginLumi);
461  registry.watchPostModuleStreamBeginLumi(this, &NVProfilerService::postModuleStreamBeginLumi);
462 
463  // these signal pair are guaranteed to be called by the same thread
464  registry.watchPreModuleStreamEndLumi(this, &NVProfilerService::preModuleStreamEndLumi);
465  registry.watchPostModuleStreamEndLumi(this, &NVProfilerService::postModuleStreamEndLumi);
466 
467  // these signal pair are guaranteed to be called by the same thread
468  registry.watchPreModuleEventAcquire(this, &NVProfilerService::preModuleEventAcquire);
469  registry.watchPostModuleEventAcquire(this, &NVProfilerService::postModuleEventAcquire);
470 
471  // these signal pair are guaranteed to be called by the same thread
472  registry.watchPreModuleEvent(this, &NVProfilerService::preModuleEvent);
473  registry.watchPostModuleEvent(this, &NVProfilerService::postModuleEvent);
474 
475  // these signal pair are guaranteed to be called by the same thread
476  registry.watchPreModuleEventDelayedGet(this, &NVProfilerService::preModuleEventDelayedGet);
477  registry.watchPostModuleEventDelayedGet(this, &NVProfilerService::postModuleEventDelayedGet);
478 
479  // these signal pair are guaranteed to be called by the same thread
480  registry.watchPreEventReadFromSource(this, &NVProfilerService::preEventReadFromSource);
481  registry.watchPostEventReadFromSource(this, &NVProfilerService::postEventReadFromSource);
482 }
void postStreamEndLumi(edm::StreamContext const &)
void preOpenFile(std::string const &, bool)
void preModuleEventPrefetching(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preGlobalBeginRun(edm::GlobalContext const &)
void postGlobalEndRun(edm::GlobalContext const &)
void preGlobalEndLumi(edm::GlobalContext const &)
void postOpenFile(std::string const &, bool)
void postModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
tbb::enumerable_thread_specific< Domains > domains_
void preModuleEndStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postCloseFile(std::string const &, bool)
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preStreamBeginLumi(edm::StreamContext const &)
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preSourceRun(edm::RunIndex)
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postSourceConstruction(edm::ModuleDescription const &)
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preCloseFile(std::string const &, bool)
void postStreamEndRun(edm::StreamContext const &)
Definition: config.py:1
void postModuleEndJob(edm::ModuleDescription const &)
void postGlobalEndLumi(edm::GlobalContext const &)
void preModuleEndJob(edm::ModuleDescription const &)
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preGlobalBeginLumi(edm::GlobalContext const &)
void postSourceLumi(edm::LuminosityBlockIndex)
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleConstruction(edm::ModuleDescription const &)
void postModuleEventPrefetching(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preGlobalEndRun(edm::GlobalContext const &)
void postSourceEvent(edm::StreamID)
void preStreamEndRun(edm::StreamContext const &)
void postModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preSourceConstruction(edm::ModuleDescription const &)
void postModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
void postStreamBeginLumi(edm::StreamContext const &)
void preStreamEndLumi(edm::StreamContext const &)
void preModuleBeginJob(edm::ModuleDescription const &)
void postGlobalBeginLumi(edm::GlobalContext const &)
void postEventReadFromSource(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleBeginStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preModuleBeginStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preSourceEvent(edm::StreamID)
void preModuleConstruction(edm::ModuleDescription const &)
unsigned int concurrentStreams_
void preStreamBeginRun(edm::StreamContext const &)
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postGlobalBeginRun(edm::GlobalContext const &)
void postModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postEvent(edm::StreamContext const &)
void postSourceRun(edm::RunIndex)
void preallocate(edm::service::SystemBounds const &)
void postModuleEndStream(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preSourceLumi(edm::LuminosityBlockIndex)
void preEventReadFromSource(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preEvent(edm::StreamContext const &)
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void postStreamBeginRun(edm::StreamContext const &)
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
static Interceptor::Registry registry("Interceptor")
void postModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
std::vector< std::string > highlightModules_
void postModuleBeginJob(edm::ModuleDescription const &)
NVProfilerService::~NVProfilerService ( )

Definition at line 484 of file NVProfilerService.cc.

484  {
485  cudaProfilerStop();
486 }

Member Function Documentation

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

Definition at line 494 of file NVProfilerService.cc.

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

494  {
496  desc.addUntracked<std::vector<std::string>>("highlightModules", {})->setComment("");
497  desc.addUntracked<bool>("showModulePrefetching", false)->setComment("Show the stack of dependencies that requested to run a module.");
498  descriptions.add("NVProfilerService", desc);
499  descriptions.setComment(R"(This Service provides CMSSW-aware annotations to nvprof/nvvm.
500 
501 Notes:
502  - the option '--cpu-profiling on' currently results in cmsRun being stuck at the beginning of the job.
503  - the option '--cpu-thread-tracing on' is not compatible with jemalloc, and should only be used with cmsRunGlibC.)");
504 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void setComment(std::string const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
nvtxDomainHandle_t NVProfilerService::global_domain ( )
inlineprivate
bool NVProfilerService::highlight ( std::string const &  label)
private
void NVProfilerService::postBeginJob ( )

Definition at line 536 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

536  {
537  nvtxDomainMark(global_domain(), "postBeginJob");
538 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postCloseFile ( std::string const &  lfn,
bool   
)

Definition at line 591 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

591  {
592  nvtxDomainRangePop(global_domain());
593 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postEndJob ( )

Definition at line 541 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

541  {
542  nvtxDomainMark(global_domain(), "postEndJob");
543 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postEvent ( edm::StreamContext const &  sc)

Definition at line 728 of file NVProfilerService.cc.

References event_, stream_domain(), and edm::StreamContext::streamID().

Referenced by NVProfilerService().

728  {
729  auto sid = sc.streamID();
730  nvtxDomainRangeEnd(stream_domain(sid), event_[sid]);
731 }
std::vector< nvtxRangeId_t > event_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 895 of file NVProfilerService.cc.

Referenced by NVProfilerService().

895  {
896  /* FIXME
897  auto sid = sc.streamID();
898  auto mid = mcc.moduleDescription()->id();
899  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
900  */
901 }
void NVProfilerService::postGlobalBeginLumi ( edm::GlobalContext const &  gc)

Definition at line 683 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

683  {
684  nvtxDomainRangePop(global_domain());
685 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postGlobalBeginRun ( edm::GlobalContext const &  gc)

Definition at line 639 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

639  {
640  nvtxDomainRangePop(global_domain());
641 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 693 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

693  {
694  nvtxDomainRangePop(global_domain());
695 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postGlobalEndRun ( edm::GlobalContext const &  gc)

Definition at line 649 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

649  {
650  nvtxDomainRangePop(global_domain());
651 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postModuleBeginJob ( edm::ModuleDescription const &  desc)

Definition at line 798 of file NVProfilerService.cc.

References global_domain(), global_modules_, and edm::ModuleDescription::id().

Referenced by NVProfilerService().

798  {
799  auto mid = desc.id();
800  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
801 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleBeginStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 608 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

608  {
609  auto sid = sc.streamID();
610  auto mid = mcc.moduleDescription()->id();
611  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
612 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleConstruction ( edm::ModuleDescription const &  desc)

Definition at line 781 of file NVProfilerService.cc.

References global_domain(), global_modules_, and edm::ModuleDescription::id().

Referenced by NVProfilerService().

781  {
782  auto mid = desc.id();
783  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
784 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleEndJob ( edm::ModuleDescription const &  desc)

Definition at line 815 of file NVProfilerService.cc.

References global_domain(), global_modules_, and edm::ModuleDescription::id().

Referenced by NVProfilerService().

815  {
816  auto mid = desc.id();
817  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
818 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleEndStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 627 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

627  {
628  auto sid = sc.streamID();
629  auto mid = mcc.moduleDescription()->id();
630  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
631 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 851 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

851  {
852  auto sid = sc.streamID();
853  auto mid = mcc.moduleDescription()->id();
854  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
855 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 833 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

833  {
834  auto sid = sc.streamID();
835  auto mid = mcc.moduleDescription()->id();
836  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
837 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 872 of file NVProfilerService.cc.

Referenced by NVProfilerService().

872  {
873  /* FIXME
874  auto sid = sc.streamID();
875  auto mid = mcc.moduleDescription()->id();
876  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
877  */
878 }
void NVProfilerService::postModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 760 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), showModulePrefetching_, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

760  {
762  auto sid = sc.streamID();
763  auto mid = mcc.moduleDescription()->id();
764  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
765  }
766 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1025 of file NVProfilerService.cc.

References global_domain(), global_modules_, edm::ModuleDescription::id(), and edm::ModuleCallingContext::moduleDescription().

Referenced by NVProfilerService().

1025  {
1026  auto mid = mcc.moduleDescription()->id();
1027  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
1028 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 991 of file NVProfilerService.cc.

References global_domain(), global_modules_, edm::ModuleDescription::id(), and edm::ModuleCallingContext::moduleDescription().

Referenced by NVProfilerService().

991  {
992  auto mid = mcc.moduleDescription()->id();
993  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
994 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1042 of file NVProfilerService.cc.

References global_domain(), global_modules_, edm::ModuleDescription::id(), and edm::ModuleCallingContext::moduleDescription().

Referenced by NVProfilerService().

1042  {
1043  auto mid = mcc.moduleDescription()->id();
1044  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
1045 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1008 of file NVProfilerService.cc.

References global_domain(), global_modules_, edm::ModuleDescription::id(), and edm::ModuleCallingContext::moduleDescription().

Referenced by NVProfilerService().

1008  {
1009  auto mid = mcc.moduleDescription()->id();
1010  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
1011 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 954 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

954  {
955  auto sid = sc.streamID();
956  auto mid = mcc.moduleDescription()->id();
957  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
958 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 916 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

916  {
917  auto sid = sc.streamID();
918  auto mid = mcc.moduleDescription()->id();
919  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
920 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 973 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

973  {
974  auto sid = sc.streamID();
975  auto mid = mcc.moduleDescription()->id();
976  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
977 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 935 of file NVProfilerService.cc.

References edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

935  {
936  auto sid = sc.streamID();
937  auto mid = mcc.moduleDescription()->id();
938  nvtxDomainRangeEnd(stream_domain(sid), stream_modules_[sid][mid]);
939 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postOpenFile ( std::string const &  lfn,
bool   
)

Definition at line 581 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

581  {
582  nvtxDomainRangePop(global_domain());
583 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postPathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc,
edm::HLTPathStatus const &  hlts 
)

Definition at line 740 of file NVProfilerService.cc.

References global_domain(), edm::PathContext::pathName(), alignCSCRings::s, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

740  {
741  auto sid = sc.streamID();
742  nvtxDomainMark(global_domain(), ("after path "s + pc.pathName()).c_str());
743 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postSourceConstruction ( edm::ModuleDescription const &  desc)

Definition at line 1060 of file NVProfilerService.cc.

References DEFINE_FWK_SERVICE, global_domain(), global_modules_, and edm::ModuleDescription::id().

Referenced by NVProfilerService().

1060  {
1061  auto mid = desc.id();
1062  nvtxDomainRangeEnd(global_domain(), global_modules_[mid]);
1063 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
void NVProfilerService::postSourceEvent ( edm::StreamID  sid)

Definition at line 551 of file NVProfilerService.cc.

References stream_domain().

Referenced by NVProfilerService().

551  {
552  nvtxDomainRangePop(stream_domain(sid));
553 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postSourceLumi ( edm::LuminosityBlockIndex  index)

Definition at line 561 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

561  {
562  nvtxDomainRangePop(global_domain());
563 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postSourceRun ( edm::RunIndex  index)

Definition at line 571 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

571  {
572  nvtxDomainRangePop(global_domain());
573 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::postStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 704 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

704  {
705  auto sid = sc.streamID();
706  nvtxDomainRangePop(stream_domain(sid));
707 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postStreamBeginRun ( edm::StreamContext const &  sc)

Definition at line 660 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

660  {
661  auto sid = sc.streamID();
662  nvtxDomainRangePop(stream_domain(sid));
663 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 716 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

716  {
717  auto sid = sc.streamID();
718  nvtxDomainRangePop(stream_domain(sid));
719 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::postStreamEndRun ( edm::StreamContext const &  sc)

Definition at line 672 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

672  {
673  auto sid = sc.streamID();
674  nvtxDomainRangePop(stream_domain(sid));
675 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preallocate ( edm::service::SystemBounds const &  bounds)

Definition at line 507 of file NVProfilerService.cc.

References concurrentStreams_, domains_, event_, global_domain(), edm::service::SystemBounds::maxNumberOfConcurrentLuminosityBlocks(), edm::service::SystemBounds::maxNumberOfConcurrentRuns(), edm::service::SystemBounds::maxNumberOfStreams(), edm::service::SystemBounds::maxNumberOfThreads(), MillePedeFileConverter_cfg::out, and stream_modules_.

Referenced by NVProfilerService().

507  {
508  std::stringstream out;
509  out << "preallocate: " << bounds.maxNumberOfConcurrentRuns() << " concurrent runs, "
510  << bounds.maxNumberOfConcurrentLuminosityBlocks() << " luminosity sections, "
511  << bounds.maxNumberOfStreams() << " streams\nrunning on"
512  << bounds.maxNumberOfThreads() << " threads";
513  nvtxDomainMark(global_domain(), out.str().c_str());
514 
515  concurrentStreams_ = bounds.maxNumberOfStreams();
516  for (auto& domain: domains_) {
517  domain.allocate_streams(concurrentStreams_);
518  }
519  event_.resize(concurrentStreams_);
520  stream_modules_.resize(concurrentStreams_);
521 }
tbb::enumerable_thread_specific< Domains > domains_
nvtxDomainHandle_t global_domain()
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
std::vector< nvtxRangeId_t > event_
unsigned int concurrentStreams_
void NVProfilerService::preBeginJob ( edm::PathsAndConsumesOfModulesBase const &  pathsAndConsumes,
edm::ProcessContext const &  pc 
)

Definition at line 524 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

524  {
525  nvtxDomainMark(global_domain(), "preBeginJob");
526 
527  // FIXME this probably works only in the absence of subprocesses
528  unsigned int modules = pathsAndConsumes.allModules().size();
529  global_modules_.resize(modules);
530  for (unsigned int sid = 0; sid < concurrentStreams_; ++sid) {
531  stream_modules_[sid].resize(modules);
532  }
533 }
nvtxDomainHandle_t global_domain()
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
unsigned int concurrentStreams_
void NVProfilerService::preCloseFile ( std::string const &  lfn,
bool   
)

Definition at line 586 of file NVProfilerService.cc.

References global_domain(), and alignCSCRings::s.

Referenced by NVProfilerService().

586  {
587  nvtxDomainRangePush(global_domain(), ("close file "s + lfn).c_str());
588 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preEvent ( edm::StreamContext const &  sc)

Definition at line 722 of file NVProfilerService.cc.

References event_, stream_domain(), and edm::StreamContext::streamID().

Referenced by NVProfilerService().

722  {
723  auto sid = sc.streamID();
724  event_[sid] = nvtxDomainRangeStartColor(stream_domain(sid), "event", nvtxDarkGreen);
725 }
std::vector< nvtxRangeId_t > event_
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 881 of file NVProfilerService.cc.

Referenced by NVProfilerService().

881  {
882  /* FIXME
883  auto sid = sc.streamID();
884  auto mid = mcc.moduleDescription()->id();
885  auto const & label = mcc.moduleDescription()->moduleLabel();
886  auto const & msg = label + " read from source";
887  if (highlight(label))
888  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
889  else
890  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
891  */
892 }
void NVProfilerService::preGlobalBeginLumi ( edm::GlobalContext const &  gc)

Definition at line 678 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

678  {
679  nvtxDomainRangePush(global_domain(), "global begin lumi");
680 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preGlobalBeginRun ( edm::GlobalContext const &  gc)

Definition at line 634 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

634  {
635  nvtxDomainRangePush(global_domain(), "global begin run");
636 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 688 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

688  {
689  nvtxDomainRangePush(global_domain(), "global end lumi");
690 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preGlobalEndRun ( edm::GlobalContext const &  gc)

Definition at line 644 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

644  {
645  nvtxDomainRangePush(global_domain(), "global end run");
646 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preModuleBeginJob ( edm::ModuleDescription const &  desc)

Definition at line 787 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

787  {
788  auto mid = desc.id();
789  auto const & label = desc.moduleLabel();
790  auto const & msg = label + " begin job";
791  if (highlight(label))
792  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
793  else
794  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
795 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleBeginStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 596 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

596  {
597  auto sid = sc.streamID();
598  auto mid = mcc.moduleDescription()->id();
599  auto const & label = mcc.moduleDescription()->moduleLabel();
600  auto const & msg = label + " begin stream";
601  if (highlight(label))
602  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
603  else
604  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
605 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleConstruction ( edm::ModuleDescription const &  desc)

Definition at line 769 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

769  {
770  auto mid = desc.id();
771  global_modules_.grow_to_at_least(mid+1);
772  auto const & label = desc.moduleLabel();
773  auto const & msg = label + " construction";
774  if (highlight(label))
775  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
776  else
777  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
778 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleEndJob ( edm::ModuleDescription const &  desc)

Definition at line 804 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

804  {
805  auto mid = desc.id();
806  auto const & label = desc.moduleLabel();
807  auto const & msg = label + " end job";
808  if (highlight(label))
809  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
810  else
811  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
812 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleEndStream ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 615 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

615  {
616  auto sid = sc.streamID();
617  auto mid = mcc.moduleDescription()->id();
618  auto const & label = mcc.moduleDescription()->moduleLabel();
619  auto const & msg = label + " end stream";
620  if (highlight(label))
621  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
622  else
623  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
624 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 840 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

840  {
841  auto sid = sc.streamID();
842  auto mid = mcc.moduleDescription()->id();
843  auto const & label = mcc.moduleDescription()->moduleLabel();
844  if (highlight(label))
845  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), label.c_str(), nvtxAmber);
846  else
847  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), label.c_str(), nvtxGreen);;
848 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 821 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

821  {
822  auto sid = sc.streamID();
823  auto mid = mcc.moduleDescription()->id();
824  auto const & label = mcc.moduleDescription()->moduleLabel();
825  auto const & msg = label + " acquire";
826  if (highlight(label))
827  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
828  else
829  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
830 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 858 of file NVProfilerService.cc.

Referenced by NVProfilerService().

858  {
859  /* FIXME
860  auto sid = sc.streamID();
861  auto mid = mcc.moduleDescription()->id();
862  auto const & label = mcc.moduleDescription()->moduleLabel();
863  auto const & msg = label + " delayed get";
864  if (highlight(label))
865  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), label.c_str(), nvtxAmber);
866  else
867  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), label.c_str(), nvtxGreen);;
868  */
869 }
void NVProfilerService::preModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 746 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, showModulePrefetching_, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

746  {
748  auto sid = sc.streamID();
749  auto mid = mcc.moduleDescription()->id();
750  auto const & label = mcc.moduleDescription()->moduleLabel();
751  auto const & msg = label + " prefetching";
752  if (highlight(label))
753  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxLightAmber);
754  else
755  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxLightGreen);
756  }
757 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1014 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

1014  {
1015  auto mid = mcc.moduleDescription()->id();
1016  auto const & label = mcc.moduleDescription()->moduleLabel();
1017  auto const & msg = label + " global begin lumi";
1018  if (highlight(label))
1019  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
1020  else
1021  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
1022 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 980 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

980  {
981  auto mid = mcc.moduleDescription()->id();
982  auto const & label = mcc.moduleDescription()->moduleLabel();
983  auto const & msg = label + " global begin run";
984  if (highlight(label))
985  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
986  else
987  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
988 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 1031 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

1031  {
1032  auto mid = mcc.moduleDescription()->id();
1033  auto const & label = mcc.moduleDescription()->moduleLabel();
1034  auto const & msg = label + " global end lumi";
1035  if (highlight(label))
1036  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
1037  else
1038  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
1039 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 997 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

997  {
998  auto mid = mcc.moduleDescription()->id();
999  auto const & label = mcc.moduleDescription()->moduleLabel();
1000  auto const & msg = label + " global end run";
1001  if (highlight(label))
1002  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
1003  else
1004  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
1005 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 942 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

942  {
943  auto sid = sc.streamID();
944  auto mid = mcc.moduleDescription()->id();
945  auto const & label = mcc.moduleDescription()->moduleLabel();
946  auto const & msg = label + " stream begin lumi";
947  if (highlight(label))
948  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
949  else
950  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
951 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 904 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

904  {
905  auto sid = sc.streamID();
906  auto mid = mcc.moduleDescription()->id();
907  auto const & label = mcc.moduleDescription()->moduleLabel();
908  auto const & msg = label + " stream begin run";
909  if (highlight(label))
910  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
911  else
912  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
913 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 961 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

961  {
962  auto sid = sc.streamID();
963  auto mid = mcc.moduleDescription()->id();
964  auto const & label = mcc.moduleDescription()->moduleLabel();
965  auto const & msg = label + " stream end lumi";
966  if (highlight(label))
967  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
968  else
969  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
970 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 923 of file NVProfilerService.cc.

References highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleCallingContext::moduleDescription(), edm::ModuleDescription::moduleLabel(), mps_check::msg, stream_domain(), stream_modules_, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

923  {
924  auto sid = sc.streamID();
925  auto mid = mcc.moduleDescription()->id();
926  auto const & label = mcc.moduleDescription()->moduleLabel();
927  auto const & msg = label + " stream end run";
928  if (highlight(label))
929  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxAmber);
930  else
931  stream_modules_[sid][mid] = nvtxDomainRangeStartColor(stream_domain(sid), msg.c_str(), nvtxGreen);;
932 }
std::vector< std::vector< nvtxRangeId_t > > stream_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preOpenFile ( std::string const &  lfn,
bool   
)

Definition at line 576 of file NVProfilerService.cc.

References global_domain(), and alignCSCRings::s.

Referenced by NVProfilerService().

576  {
577  nvtxDomainRangePush(global_domain(), ("open file "s + lfn).c_str());
578 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::prePathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc 
)

Definition at line 734 of file NVProfilerService.cc.

References global_domain(), edm::PathContext::pathName(), alignCSCRings::s, and edm::StreamContext::streamID().

Referenced by NVProfilerService().

734  {
735  auto sid = sc.streamID();
736  nvtxDomainMark(global_domain(), ("before path "s + pc.pathName()).c_str());
737 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preSourceConstruction ( edm::ModuleDescription const &  desc)

Definition at line 1048 of file NVProfilerService.cc.

References global_domain(), global_modules_, highlight(), edm::ModuleDescription::id(), diffTwoXMLs::label, edm::ModuleDescription::moduleLabel(), and mps_check::msg.

Referenced by NVProfilerService().

1048  {
1049  auto mid = desc.id();
1050  global_modules_.grow_to_at_least(mid+1);
1051  auto const & label = desc.moduleLabel();
1052  auto const & msg = label + " construction";
1053  if (highlight(label))
1054  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxAmber);
1055  else
1056  global_modules_[mid] = nvtxDomainRangeStartColor(global_domain(), msg.c_str(), nvtxGreen);;
1057 }
nvtxDomainHandle_t global_domain()
tbb::concurrent_vector< nvtxRangeId_t > global_modules_
tuple msg
Definition: mps_check.py:278
bool highlight(std::string const &)
void NVProfilerService::preSourceEvent ( edm::StreamID  sid)

Definition at line 546 of file NVProfilerService.cc.

References stream_domain().

Referenced by NVProfilerService().

546  {
547  nvtxDomainRangePush(stream_domain(sid), "source");
548 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preSourceLumi ( edm::LuminosityBlockIndex  index)

Definition at line 556 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

556  {
557  nvtxDomainRangePush(global_domain(), "source lumi");
558 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preSourceRun ( edm::RunIndex  index)

Definition at line 566 of file NVProfilerService.cc.

References global_domain().

Referenced by NVProfilerService().

566  {
567  nvtxDomainRangePush(global_domain(), "source run");
568 }
nvtxDomainHandle_t global_domain()
void NVProfilerService::preStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 698 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

698  {
699  auto sid = sc.streamID();
700  nvtxDomainRangePush(stream_domain(sid), "stream begin lumi");
701 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preStreamBeginRun ( edm::StreamContext const &  sc)

Definition at line 654 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

654  {
655  auto sid = sc.streamID();
656  nvtxDomainRangePush(stream_domain(sid), "stream begin run");
657 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 710 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

710  {
711  auto sid = sc.streamID();
712  nvtxDomainRangePush(stream_domain(sid), "stream end lumi");
713 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
void NVProfilerService::preStreamEndRun ( edm::StreamContext const &  sc)

Definition at line 666 of file NVProfilerService.cc.

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

Referenced by NVProfilerService().

666  {
667  auto sid = sc.streamID();
668  nvtxDomainRangePush(stream_domain(sid), "stream end run");
669 }
nvtxDomainHandle_t stream_domain(unsigned int sid)
nvtxDomainHandle_t NVProfilerService::stream_domain ( unsigned int  sid)
inlineprivate

Friends And Related Function Documentation

friend struct Domains
friend

Definition at line 313 of file NVProfilerService.cc.

Member Data Documentation

unsigned int NVProfilerService::concurrentStreams_
private
tbb::enumerable_thread_specific<Domains> NVProfilerService::domains_
private

Definition at line 315 of file NVProfilerService.cc.

Referenced by preallocate().

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

Definition at line 282 of file NVProfilerService.cc.

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

tbb::concurrent_vector<nvtxRangeId_t> NVProfilerService::global_modules_
private
std::vector<std::string> NVProfilerService::highlightModules_
private

Definition at line 278 of file NVProfilerService.cc.

Referenced by highlight(), and NVProfilerService().

bool NVProfilerService::showModulePrefetching_
private

Definition at line 279 of file NVProfilerService.cc.

Referenced by postModuleEventPrefetching(), and preModuleEventPrefetching().

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