CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
FastTimerService::ResourcesPerJob Struct Reference

Public Member Functions

ResourcesPerJob operator+ (ResourcesPerJob const &other) const
 
ResourcesPerJoboperator+= (ResourcesPerJob const &other)
 
void reset ()
 
 ResourcesPerJob ()=default
 
 ResourcesPerJob (ProcessCallGraph const &job, std::vector< GroupOfModules > const &groups)
 

Public Attributes

Resources event
 
Measurement event_measurement
 
unsigned events
 
AtomicResources eventsetup
 
std::vector< Resourceshighlight
 
AtomicResources idle
 
std::vector< ResourcesPerModulemodules
 
AtomicResources overhead
 
std::vector< ResourcesPerProcessprocesses
 
Resources total
 

Detailed Description

Definition at line 303 of file FastTimerService.h.

Constructor & Destructor Documentation

◆ ResourcesPerJob() [1/2]

FastTimerService::ResourcesPerJob::ResourcesPerJob ( )
default

◆ ResourcesPerJob() [2/2]

FastTimerService::ResourcesPerJob::ResourcesPerJob ( ProcessCallGraph const &  job,
std::vector< GroupOfModules > const &  groups 
)

Definition at line 260 of file FastTimerService.cc.

262  : highlight{groups.size()}, modules{job.size()}, events{0} {
263  processes.reserve(job.processes().size());
264  for (auto const& process : job.processes())
265  processes.emplace_back(process);
266 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes

Member Function Documentation

◆ operator+()

FastTimerService::ResourcesPerJob FastTimerService::ResourcesPerJob::operator+ ( ResourcesPerJob const &  other) const

Definition at line 302 of file FastTimerService.cc.

References trackingPlots::other, and mps_fire::result.

302  {
303  ResourcesPerJob result(*this);
304  result += other;
305  return result;
306 }

◆ operator+=()

FastTimerService::ResourcesPerJob & FastTimerService::ResourcesPerJob::operator+= ( ResourcesPerJob const &  other)

Definition at line 283 of file FastTimerService.cc.

References cms::cuda::assert(), events, mps_fire::i, trackingPlots::other, dqmiodatasetharvest::processes, and dqmMemoryStats::total.

283  {
284  total += other.total;
285  overhead += other.overhead;
286  idle += other.idle;
287  eventsetup += other.eventsetup;
288  event += other.event;
289  assert(highlight.size() == other.highlight.size());
290  for (unsigned int i : boost::irange(0ul, highlight.size()))
291  highlight[i] += other.highlight[i];
292  assert(modules.size() == other.modules.size());
293  for (unsigned int i : boost::irange(0ul, modules.size()))
294  modules[i] += other.modules[i];
295  assert(processes.size() == other.processes.size());
296  for (unsigned int i : boost::irange(0ul, processes.size()))
297  processes[i] += other.processes[i];
298  events += other.events;
299  return *this;
300 }
assert(be >=bs)
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes

◆ reset()

void FastTimerService::ResourcesPerJob::reset ( void  )

Definition at line 268 of file FastTimerService.cc.

References events, LaserDQM_cfg::process, dqmiodatasetharvest::processes, and dqmMemoryStats::total.

268  {
269  total.reset();
270  overhead.reset();
271  idle.reset();
272  eventsetup.reset();
273  event.reset();
274  for (auto& module : highlight)
275  module.reset();
276  for (auto& module : modules)
277  module.reset();
278  for (auto& process : processes)
279  process.reset();
280  events = 0;
281 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes

Member Data Documentation

◆ event

Resources FastTimerService::ResourcesPerJob::event

◆ event_measurement

Measurement FastTimerService::ResourcesPerJob::event_measurement

Definition at line 317 of file FastTimerService.h.

◆ events

unsigned FastTimerService::ResourcesPerJob::events

◆ eventsetup

AtomicResources FastTimerService::ResourcesPerJob::eventsetup

Definition at line 314 of file FastTimerService.h.

◆ highlight

std::vector<Resources> FastTimerService::ResourcesPerJob::highlight

Definition at line 318 of file FastTimerService.h.

◆ idle

AtomicResources FastTimerService::ResourcesPerJob::idle

◆ modules

std::vector<ResourcesPerModule> FastTimerService::ResourcesPerJob::modules

Definition at line 319 of file FastTimerService.h.

◆ overhead

AtomicResources FastTimerService::ResourcesPerJob::overhead

Definition at line 313 of file FastTimerService.h.

Referenced by FastTimerService::on_scheduler_entry().

◆ processes

std::vector<ResourcesPerProcess> FastTimerService::ResourcesPerJob::processes

Definition at line 320 of file FastTimerService.h.

◆ total

Resources FastTimerService::ResourcesPerJob::total

Definition at line 312 of file FastTimerService.h.