Classes | |
class | PerfTest |
class | simpleGenReportThread |
Public Member Functions | |
def | __init__ (self) |
def | benchmarks (self, cpu, pfdir, name, bencher, large=False) |
Run cmsScimark benchmarks a number of times. More... | |
def | cprootfile (self, dir, candle, NumOfEvents, cmsdriverOptions="") |
Copy root file from another candle's directory ! Again this is messy. More... | |
def | createIgVolume (self) |
def | displayErrors (self, file) |
Display G4 cerr errors and CMSExceptions in the logfile. More... | |
def | getDate (self) |
def | mkCandleDir (self, pfdir, candle, profiler) |
Make directory for a particular candle and profiler. More... | |
def | optionParse (self, argslist=None) |
def | printDate (self) |
def | printFlush (self, command) |
Print and flush a string (for output to a log file) More... | |
def | runcmd (self, command) |
Run a command and return the exit status. More... | |
def | runCmdSet (self, cmd) |
Run a list of commands using system ! We should rewrite this not to use system (most cases it is unnecessary) More... | |
def | runCmsInput (self, cpu, dir, numevents, candle, cmsdrvopts, stepopt, profiles, bypasshlt, userInputFile) |
Wrapper for cmsRelvalreportInput. More... | |
def | runCmsReport (self, cpu, dir, candle) |
This function is a wrapper around cmsRelvalreport. More... | |
def | runPerfSuite (self, create=False, castordir="/castor/cern.ch/cms/store/relval/performance/", TimeSizeEvents=100, IgProfEvents=5, CallgrindEvents=1, MemcheckEvents=5, cmsScimark=10, cmsScimarkLarge=10, cmsdriverOptions="", cmsdriverPUOptions="", stepOptions="", quicktest=False, profilers="", cpus=[1], cpu_list=[1], cores=4, prevrel="", bypasshlt=False, runonspare=True, perfsuitedir=os.getcwd(), logfile=None, TimeSizeCandles="", IgProfCandles="", CallgrindCandles="", MemcheckCandles="", TimeSizePUCandles="", IgProfPUCandles="", CallgrindPUCandles="", MemcheckPUCandles="", PUInputFile="", userInputFile="", MailLogRecipients="", tarball="") |
Runs benchmarking, cpu spinlocks on spare cores and profiles selected candles. More... | |
def | simpleGenReport (self, cpus, perfdir=os.getcwd(), NumEvents=1, candles=['MinBias'], cmsdriverOptions='', stepOptions='', Name='', profilers='', bypasshlt='', userInputRootFiles='') |
Prepares the profiling directory and runs all the selected profiles (if this is not a unit test) More... | |
def | testCmsDriver (self, cpu, dir, cmsver, candle) |
Test cmsDriver.py (parses the simcandles file, removing duplicate lines, and runs the cmsDriver part) More... | |
def | valFilterReport (self, dir) |
Filter lines in the valgrind report that match GEN,SIM. More... | |
Public Attributes | |
AuxiliaryScripts | |
cmssw_arch | |
cmssw_version | |
Commands | |
ERRORS | |
HEPSPEC06 | |
host | |
logh | |
PerfTestTotalTimer | |
FIXME: We may want to introduce a switch here or agree on a different default (currently 10 cmsScimark and 10 cmsScimarkLarge) More... | |
Scripts | |
user | |
Private Attributes | |
_CASTOR_DIR | |
_debug | |
Developer options. More... | |
_dryrun | |
_noexec | |
_unittest | |
_verbose | |
Check logfile option. More... | |
Definition at line 62 of file cmsPerfSuite.py.
def cmsPerfSuite.PerfSuite.__init__ | ( | self | ) |
Definition at line 63 of file cmsPerfSuite.py.
Run cmsScimark benchmarks a number of times.
Definition at line 693 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.Commands, cmsPerfSuite.PerfSuite.printFlush(), and cmsPerfSuite.PerfSuite.runcmd().
def cmsPerfSuite.PerfSuite.cprootfile | ( | self, | |
dir, | |||
candle, | |||
NumOfEvents, | |||
cmsdriverOptions = "" |
|||
) |
Copy root file from another candle's directory ! Again this is messy.
Definition at line 614 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.printFlush(), cmsPerfSuite.PerfSuite.runCmdSet(), and str.
def cmsPerfSuite.PerfSuite.createIgVolume | ( | self | ) |
Definition at line 111 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.cmssw_arch, and cmsPerfSuite.PerfSuite.cmssw_version.
def cmsPerfSuite.PerfSuite.displayErrors | ( | self, | |
file | |||
) |
Display G4 cerr errors and CMSExceptions in the logfile.
Definition at line 634 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.ERRORS.
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.getDate | ( | self | ) |
Definition at line 594 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.printDate(), and cmsPerfSuite.PerfSuite.runCmdSet().
def cmsPerfSuite.PerfSuite.mkCandleDir | ( | self, | |
pfdir, | |||
candle, | |||
profiler | |||
) |
Make directory for a particular candle and profiler.
! This is really unnecessary code and should be replaced with a os.mkdir() call
Definition at line 603 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, uploads.output._verbose, cmsPerfSuite.PerfSuite._verbose, uploads.uploader._verbose, MassReplace.MassSearchReplaceParamVisitor._verbose, ConfigBuilder.ConfigBuilder.MassSearchReplaceProcessNameVisitor._verbose, cmsPerfSuite.PerfSuite.printDate(), and cmsPerfSuite.PerfSuite.runcmd().
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
Definition at line 156 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite._CASTOR_DIR, ECALAndHCALCaloJetLinker._debug, ECALAndHCALLinker._debug, HCALAndHOLinker._debug, HFEMAndHFHADLinker._debug, ECALAndBREMLinker._debug, GSFAndBREMLinker._debug, GSFAndECALLinker._debug, GSFAndGSFLinker._debug, GSFAndHCALLinker._debug, GSFAndHGCalLinker._debug, HCALAndBREMLinker._debug, HGCalAndBREMLinker._debug, TrackAndHOLinker._debug, ECALAndECALLinker._debug, PreshowerAndECALLinker._debug, TrackAndGSFLinker._debug, FWLite.ElectronMVAID._debug, SCAndECALLinker._debug, SCAndHGCalLinker._debug, TrackAndECALLinker._debug, TrackAndHCALLinker._debug, TrackAndTrackLinker._debug, Logger._debug, hcaldqm::DQModule._debug, EcalMatacqAnalyzer._debug, LMFDefFabric._debug, FrontierCondition_GT_autoExpress_cfi.Tier0Handler._debug, cmsPerfSuite.PerfSuite._debug, EcalABAnalyzer._debug, tier0.Tier0Handler._debug, EcalLaserAnalyzer2._debug, uploads.uploader._debug, EcalLaserAnalyzer._debug, DTBtiCard._debug, external::HEPTopTaggerV2_fixed_R._debug, DTTracoCard._debug, DTTrigGeom._debug, DTTrig._debug, external::HEPTopTaggerV2._debug, cmsPerfSuite.PerfSuite._dryrun, cmsPerfSuite.PerfSuite._noexec, cmsPerfSuite.PerfSuite._unittest, MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, uploads.output._verbose, cmsPerfSuite.PerfSuite._verbose, uploads.uploader._verbose, MassReplace.MassSearchReplaceParamVisitor._verbose, ConfigBuilder.ConfigBuilder.MassSearchReplaceProcessNameVisitor._verbose, cmsCpuInfo.get_NumOfCores(), createfilelist.int, join(), list(), genParticles_cff.map, EcalTPGParamReaderFromDB.user, dataset.BaseDataset.user, production_tasks.Task.user, popcon::RpcDataV.user, popcon::RpcDataT.user, popcon::RPCObPVSSmapData.user, popcon::RpcObGasData.user, popcon::RpcDataGasMix.user, popcon::RpcDataI.user, popcon::RpcDataFebmap.user, popcon::RpcDataS.user, popcon::RpcDataUXC.user, cmsPerfSuite.PerfSuite.user, MatrixInjector.MatrixInjector.user, production_tasks.ParseOptions.user, EcalDBConnection.user, production_tasks.FindOnCastor.user, production_tasks.CheckForMask.user, and production_tasks.CheckForWrite.user.
def cmsPerfSuite.PerfSuite.printDate | ( | self | ) |
Definition at line 597 of file cmsPerfSuite.py.
References FittedEntriesSet.getDate(), and cmsPerfSuite.PerfSuite.getDate().
Referenced by cmsPerfSuite.PerfSuite.mkCandleDir().
def cmsPerfSuite.PerfSuite.printFlush | ( | self, | |
command | |||
) |
Print and flush a string (for output to a log file)
Definition at line 560 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, uploads.output._verbose, cmsPerfSuite.PerfSuite._verbose, uploads.uploader._verbose, MassReplace.MassSearchReplaceParamVisitor._verbose, ConfigBuilder.ConfigBuilder.MassSearchReplaceProcessNameVisitor._verbose, and str.
Referenced by cmsPerfSuite.PerfSuite.benchmarks(), cmsPerfSuite.PerfSuite.cprootfile(), cmsPerfSuite.PerfSuite.runCmdSet(), and cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.runcmd | ( | self, | |
command | |||
) |
Run a command and return the exit status.
Definition at line 568 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, uploads.output._verbose, cmsPerfSuite.PerfSuite._verbose, uploads.uploader._verbose, MassReplace.MassSearchReplaceParamVisitor._verbose, and ConfigBuilder.ConfigBuilder.MassSearchReplaceProcessNameVisitor._verbose.
Referenced by cmsPerfSuite.PerfSuite.benchmarks(), cmsPerfSuite.PerfSuite.mkCandleDir(), and cmsPerfSuite.PerfSuite.runCmdSet().
def cmsPerfSuite.PerfSuite.runCmdSet | ( | self, | |
cmd | |||
) |
Run a list of commands using system ! We should rewrite this not to use system (most cases it is unnecessary)
Definition at line 542 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, uploads.output._verbose, cmsPerfSuite.PerfSuite._verbose, uploads.uploader._verbose, MassReplace.MassSearchReplaceParamVisitor._verbose, ConfigBuilder.ConfigBuilder.MassSearchReplaceProcessNameVisitor._verbose, FittedEntriesSet.getDate(), cmsPerfSuite.PerfSuite.getDate(), join(), cmsPerfSuite.PerfSuite.printFlush(), and cmsPerfSuite.PerfSuite.runcmd().
Referenced by cmsPerfSuite.PerfSuite.cprootfile(), cmsPerfSuite.PerfSuite.runCmsInput(), cmsPerfSuite.PerfSuite.runCmsReport(), and cmsPerfSuite.PerfSuite.testCmsDriver().
def cmsPerfSuite.PerfSuite.runCmsInput | ( | self, | |
cpu, | |||
dir, | |||
numevents, | |||
candle, | |||
cmsdrvopts, | |||
stepopt, | |||
profiles, | |||
bypasshlt, | |||
userInputFile | |||
) |
Wrapper for cmsRelvalreportInput.
Definition at line 765 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite._unittest, cmsPerfSuite.PerfSuite.Commands, and cmsPerfSuite.PerfSuite.runCmdSet().
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.runCmsReport | ( | self, | |
cpu, | |||
dir, | |||
candle | |||
) |
This function is a wrapper around cmsRelvalreport.
Definition at line 715 of file cmsPerfSuite.py.
References ECALAndHCALCaloJetLinker._debug, ECALAndHCALLinker._debug, HCALAndHOLinker._debug, HFEMAndHFHADLinker._debug, HGCalAndBREMLinker._debug, TrackAndHOLinker._debug, ECALAndBREMLinker._debug, GSFAndECALLinker._debug, GSFAndGSFLinker._debug, GSFAndHCALLinker._debug, HCALAndBREMLinker._debug, GSFAndBREMLinker._debug, GSFAndHGCalLinker._debug, PreshowerAndECALLinker._debug, TrackAndGSFLinker._debug, ECALAndECALLinker._debug, SCAndECALLinker._debug, SCAndHGCalLinker._debug, TrackAndECALLinker._debug, TrackAndHCALLinker._debug, TrackAndTrackLinker._debug, FWLite.ElectronMVAID._debug, Logger._debug, hcaldqm::DQModule._debug, EcalMatacqAnalyzer._debug, LMFDefFabric._debug, FrontierCondition_GT_autoExpress_cfi.Tier0Handler._debug, cmsPerfSuite.PerfSuite._debug, EcalABAnalyzer._debug, tier0.Tier0Handler._debug, EcalLaserAnalyzer2._debug, uploads.uploader._debug, EcalLaserAnalyzer._debug, DTBtiCard._debug, external::HEPTopTaggerV2_fixed_R._debug, DTTracoCard._debug, DTTrigGeom._debug, DTTrig._debug, external::HEPTopTaggerV2._debug, cmsPerfSuite.PerfSuite._unittest, cmsPerfSuite.PerfSuite.cmssw_version, cmsPerfSuite.PerfSuite.Commands, mathSSE.return(), and cmsPerfSuite.PerfSuite.runCmdSet().
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.runPerfSuite | ( | self, | |
create = False , |
|||
castordir = "/castor/cern.ch/cms/store/relval/performance/" , |
|||
TimeSizeEvents = 100 , |
|||
IgProfEvents = 5 , |
|||
CallgrindEvents = 1 , |
|||
MemcheckEvents = 5 , |
|||
cmsScimark = 10 , |
|||
cmsScimarkLarge = 10 , |
|||
cmsdriverOptions = "" , |
|||
cmsdriverPUOptions = "" , |
|||
stepOptions = "" , |
|||
quicktest = False , |
|||
profilers = "" , |
|||
cpus = [1] , |
|||
cpu_list = [1] , |
|||
cores = 4 , |
|||
prevrel = "" , |
|||
bypasshlt = False , |
|||
runonspare = True , |
|||
perfsuitedir = os.getcwd() , |
|||
logfile = None , |
|||
TimeSizeCandles = "" , |
|||
IgProfCandles = "" , |
|||
CallgrindCandles = "" , |
|||
MemcheckCandles = "" , |
|||
TimeSizePUCandles = "" , |
|||
IgProfPUCandles = "" , |
|||
CallgrindPUCandles = "" , |
|||
MemcheckPUCandles = "" , |
|||
PUInputFile = "" , |
|||
userInputFile = "" , |
|||
MailLogRecipients = "" , |
|||
tarball = "" |
|||
) |
Runs benchmarking, cpu spinlocks on spare cores and profiles selected candles.
FIXME: Could redesign interface of functions to use keyword arguments: def runPerfSuite(**opts): then instead of using castordir variable, would use opts['castordir'] etc
Definition at line 928 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.logh.
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.simpleGenReport | ( | self, | |
cpus, | |||
perfdir = os.getcwd() , |
|||
NumEvents = 1 , |
|||
candles = ['MinBias'] , |
|||
cmsdriverOptions = '' , |
|||
stepOptions = '' , |
|||
Name = '' , |
|||
profilers = '' , |
|||
bypasshlt = '' , |
|||
userInputRootFiles = '' |
|||
) |
Prepares the profiling directory and runs all the selected profiles (if this is not a unit test)
Making parameters named to facilitate the handling of arguments (especially with the threading use case)
Definition at line 794 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite._noexec, cmsPerfSuite.PerfSuite._unittest, cmsPerfSuite.PerfSuite.displayErrors(), cmsPerfSuite.PerfSuite.mkCandleDir(), cmsPerfSuite.PerfSuite.printFlush(), cmsPerfSuite.PerfSuite.runCmsInput(), cmsPerfSuite.PerfSuite.runCmsReport(), cmsPerfSuite.PerfSuite.runPerfSuite(), cmsPerfSuite.PerfSuite.testCmsDriver(), and update.
def cmsPerfSuite.PerfSuite.testCmsDriver | ( | self, | |
cpu, | |||
dir, | |||
cmsver, | |||
candle | |||
) |
Test cmsDriver.py (parses the simcandles file, removing duplicate lines, and runs the cmsDriver part)
Definition at line 732 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite._dryrun, cmsPerfSuite.PerfSuite.Commands, and cmsPerfSuite.PerfSuite.runCmdSet().
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.valFilterReport | ( | self, | |
dir | |||
) |
Filter lines in the valgrind report that match GEN,SIM.
Definition at line 650 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.cmssw_version.
|
private |
Definition at line 69 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse().
|
private |
Developer options.
Definition at line 71 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.runCmsReport().
|
private |
Definition at line 70 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.testCmsDriver().
|
private |
Definition at line 73 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.simpleGenReport().
|
private |
Definition at line 72 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), cmsPerfSuite.PerfSuite.runCmsInput(), cmsPerfSuite.PerfSuite.runCmsReport(), and cmsPerfSuite.PerfSuite.simpleGenReport().
|
private |
Check logfile option.
Check step Options Check profile option Check output directory option Check cpu option Check previous release directory Setup quicktest option Setup unit test option
Definition at line 74 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.mkCandleDir(), cmsPerfSuite.PerfSuite.optionParse(), cmsPerfSuite.PerfSuite.printFlush(), cmsPerfSuite.PerfSuite.runcmd(), and cmsPerfSuite.PerfSuite.runCmdSet().
cmsPerfSuite.PerfSuite.AuxiliaryScripts |
Definition at line 91 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.cmssw_arch |
Definition at line 79 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.createIgVolume().
cmsPerfSuite.PerfSuite.cmssw_version |
Definition at line 80 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.createIgVolume(), cmsHarvester.CMSHarvester.db_account_name_cms_cond_dqm_summary(), cmsPerfSuite.PerfSuite.runCmsReport(), and cmsPerfSuite.PerfSuite.valFilterReport().
cmsPerfSuite.PerfSuite.Commands |
Definition at line 1026 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.benchmarks(), cmsPerfSuite.PerfSuite.runCmsInput(), cmsPerfSuite.PerfSuite.runCmsReport(), and cmsPerfSuite.PerfSuite.testCmsDriver().
cmsPerfSuite.PerfSuite.ERRORS |
Definition at line 65 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.displayErrors().
cmsPerfSuite.PerfSuite.HEPSPEC06 |
Definition at line 942 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.host |
Definition at line 81 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.logh |
Definition at line 75 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.runPerfSuite().
cmsPerfSuite.PerfSuite.PerfTestTotalTimer |
FIXME: We may want to introduce a switch here or agree on a different default (currently 10 cmsScimark and 10 cmsScimarkLarge)
PERF## Prepare the simpleGenReport arguments for this test: MEM## Prepare the simpleGenReport arguments for this test: PERF## Prepare the simpleGenReport arguments for this test: MEM## Prepare the simpleGenReport arguments for this test:
Definition at line 1425 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.Scripts |
Definition at line 90 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.user |
Definition at line 82 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and DTWorkflow.DTWorkflow.remote_out_path().