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 61 of file cmsPerfSuite.py.
def cmsPerfSuite.PerfSuite.__init__ | ( | self | ) |
Definition at line 62 of file cmsPerfSuite.py.
Run cmsScimark benchmarks a number of times.
Definition at line 692 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 613 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.printFlush(), cmsPerfSuite.PerfSuite.runCmdSet(), and str.
def cmsPerfSuite.PerfSuite.createIgVolume | ( | self | ) |
Definition at line 110 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 633 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.ERRORS.
Referenced by cmsPerfSuite.PerfSuite.simpleGenReport().
def cmsPerfSuite.PerfSuite.getDate | ( | self | ) |
Definition at line 593 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 602 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, HTMHTAnalyzer._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 155 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, SCAndECALLinker._debug, SCAndHGCalLinker._debug, TrackAndECALLinker._debug, TrackAndHCALLinker._debug, TrackAndTrackLinker._debug, EcalMatacqAnalyzer._debug, Logger._debug, LMFDefFabric._debug, hcaldqm::DQModule._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, HTMHTAnalyzer._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, dataset.BaseDataset.user, EcalTPGParamReaderFromDB.user, production_tasks.Task.user, popcon::RpcDataV.user, popcon::RPCObPVSSmapData.user, popcon::RpcDataT.user, popcon::RpcObGasData.user, popcon::RpcDataI.user, popcon::RpcDataS.user, popcon::RpcDataFebmap.user, popcon::RpcDataUXC.user, popcon::RpcDataGasMix.user, MatrixInjector.MatrixInjector.user, cmsPerfSuite.PerfSuite.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 596 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 559 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, HTMHTAnalyzer._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 567 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, HTMHTAnalyzer._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 541 of file cmsPerfSuite.py.
References MassReplace.MassSearchReplaceAnyInputTagVisitor._verbose, HTMHTAnalyzer._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 764 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 714 of file cmsPerfSuite.py.
References ECALAndHCALCaloJetLinker._debug, ECALAndHCALLinker._debug, HCALAndHOLinker._debug, HFEMAndHFHADLinker._debug, TrackAndHOLinker._debug, ECALAndBREMLinker._debug, GSFAndBREMLinker._debug, GSFAndGSFLinker._debug, GSFAndHCALLinker._debug, GSFAndHGCalLinker._debug, HCALAndBREMLinker._debug, GSFAndECALLinker._debug, HGCalAndBREMLinker._debug, PreshowerAndECALLinker._debug, TrackAndGSFLinker._debug, ECALAndECALLinker._debug, SCAndECALLinker._debug, SCAndHGCalLinker._debug, TrackAndHCALLinker._debug, TrackAndTrackLinker._debug, TrackAndECALLinker._debug, EcalMatacqAnalyzer._debug, Logger._debug, LMFDefFabric._debug, hcaldqm::DQModule._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 927 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 793 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 731 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 649 of file cmsPerfSuite.py.
References cmsPerfSuite.PerfSuite.cmssw_version.
|
private |
Definition at line 68 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse().
|
private |
Developer options.
Definition at line 70 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.runCmsReport().
|
private |
Definition at line 69 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.testCmsDriver().
|
private |
Definition at line 72 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and cmsPerfSuite.PerfSuite.simpleGenReport().
|
private |
Definition at line 71 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 73 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 90 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.cmssw_arch |
Definition at line 78 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.createIgVolume().
cmsPerfSuite.PerfSuite.cmssw_version |
Definition at line 79 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 1025 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 64 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.displayErrors().
cmsPerfSuite.PerfSuite.HEPSPEC06 |
Definition at line 941 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.host |
Definition at line 80 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.logh |
Definition at line 74 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 1424 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.Scripts |
Definition at line 89 of file cmsPerfSuite.py.
cmsPerfSuite.PerfSuite.user |
Definition at line 81 of file cmsPerfSuite.py.
Referenced by cmsPerfSuite.PerfSuite.optionParse(), and DTWorkflow.DTWorkflow.remote_out_path().