636def exeResourceReport(exe, report):
637 exeResource = {'cpuTime': report.roundoff(exe.cpuTime),
638 'wallTime': report.roundoff(exe.wallTime),
639 'preExe': {
640 'cpuTime': report.roundoff(exe.preExeCpuTime),
641 'wallTime': report.roundoff(exe.preExeWallTime),
642 },
643 'postExe': {
644 'cpuTime': report.roundoff(exe.postExeCpuTime),
645 'wallTime': report.roundoff(exe.postExeWallTime),
646 },
647 'validation': {
648 'cpuTime': report.roundoff(exe.validationCpuTime),
649 'wallTime': report.roundoff(exe.validationWallTime),
650 },
651 'total': {
652 'cpuTime': report.roundoff(exe.cpuTimeTotal),
653 'wallTime': report.roundoff(exe.wallTimeTotal),
654 },
655 }
656
657 if exe.memStats:
658 exeResource['memory'] = exe.memStats
659 if exe.memAnalysis:
660 exeResource['memoryAnalysis'] = exe.memAnalysis
661 if exe.eventCount:
662 exeResource['nevents'] = exe.eventCount
663 if exe.name=='ReSim':
664 exeResource['resimevents'] = exe.reSimEvent
665 if exe.athenaMP:
666 exeResource['mpworkers'] = exe.athenaMP
667 exeResource['cpuTimePerWorker'] = report.roundoff(exe.cpuTime/exe.athenaMP)
668 if exe.dbMonitor:
669 exeResource['dbData'] = exe.dbMonitor['bytes']
670 exeResource['dbTime'] = report.roundoff(exe.dbMonitor['time'])
671 report._dbDataTotal += exeResource['dbData']
672 report._dbTimeTotal += exeResource['dbTime']
673 return exeResource