diff --git a/Configuration/PyReleaseValidation/python/relval_gpu.py b/Configuration/PyReleaseValidation/python/relval_gpu.py index b625c841667e6..28f66c8266327 100644 --- a/Configuration/PyReleaseValidation/python/relval_gpu.py +++ b/Configuration/PyReleaseValidation/python/relval_gpu.py @@ -11,50 +11,59 @@ from Configuration.PyReleaseValidation.relval_upgrade import workflows as _upgrade_workflows -#just define all of them +# just define all of them -#WFs to run in IB: -# mc 2018 (Patatrack pixel-only quadruplets: ZMM - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only triplets: ZMM - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only quadruplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only triplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack ECAL-only: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack HCAL-only: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack full reco with pixel quadruplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack full reco with pixel triplets: TTbar - on GPU, both CPU and GPU, profiling) -# mc 2021 (Patatrack pixel-only quadruplets: ZMM - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only triplets: ZMM - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only quadruplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack pixel-only triplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack ECAL-only: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack HCAL-only: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack full reco with pixel quadruplets: TTbar - on GPU, both CPU and GPU, profiling) -# (Patatrack full reco with pixel triplets: TTbar - on GPU, both CPU and GPU, profiling) +# WFs to run in IB: +# mc 2018 Patatrack pixel-only quadruplets: ZMM - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets: ZMM - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only quadruplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack ECAL-only: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack HCAL-only: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only quadruplets, ECAL, HCAL: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets, ECAL, HCAL: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# full reco with Patatrack pixel-only quadruplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# full reco with Patatrack pixel-only triplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling + +# mc 2021 Patatrack pixel-only quadruplets: ZMM - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets: ZMM - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only quadruplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack ECAL-only: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack HCAL-only: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only quadruplets, ECAL, HCAL: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# Patatrack pixel-only triplets, ECAL, HCAL: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# full reco with Patatrack pixel-only quadruplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling +# full reco with Patatrack pixel-only triplets: TTbar - on GPU (optional), GPU-vs-CPU validation, profiling numWFIB = [ - 10842.502, # 10842.503, 10842.504, - 10842.506, # 10842.507, 10842.508, - 10824.502, # 10824.503, 10824.504, - 10824.506, # 10824.507, 10824.508, - 10824.512, 10824.513, # 10824.514, - 10824.522, # 10824.523, 10824.524, - 10824.592, # 10824.593, 10824.594, - 10824.596, # 10824.597, 10824.598, - 11650.502, # 11650.503, 11650.504, - 11650.506, # 11650.507, 11650.508, - 11634.502, # 11634.503, 11634.504, - 11634.506, # 11634.507, 11634.508, - 11634.512, 11634.513, # 11634.514, - 11634.522, # 11634.523, 11634.524, - 11634.592, # 11634.593, 11634.594, - 11634.596, # 11634.597, 11634.598, + 10842.502, 10842.503, 10842.504, + 10842.506, 10842.507, 10842.508, + 10824.502, 10824.503, 10824.504, + 10824.506, 10824.507, 10824.508, + 10824.512, 10824.513, 10824.514, + 10824.522, 10824.523, 10824.524, + 10824.582, 10824.583, # 10824.524, + 10824.586, 10824.587, # 10824.528, + 10824.592, 10824.593, + 10824.596, 10824.597, + 11650.502, 11650.503, 11650.504, + 11650.506, 11650.507, 11650.508, + 11634.502, 11634.503, 11634.504, + 11634.506, 11634.507, 11634.508, + 11634.512, 11634.513, 11634.514, + 11634.522, 11634.523, 11634.524, + 11634.582, 11634.583, # 11634.524, + 11634.586, 11634.587, # 11634.528, + 11634.592, 11634.593, + 11634.596, 11634.597, ] for numWF in numWFIB: if not numWF in _upgrade_workflows: continue workflows[numWF] = _upgrade_workflows[numWF] -# data 2018 (Patatrack pixel-only: RunHLTPhy2018D, RunJetHT2018D on GPU) -# (Patatrack ECAL-only: RunHLTPhy2018D, RunJetHT2018D on GPU) -# (Patatrack HCAL-only: RunHLTPhy2018D, RunJetHT2018D on GPU) +# data 2018 Patatrack pixel-only quadruplets: RunHLTPhy2018D on GPU (optional), RunJetHT2018D on GPU (optional) +# Patatrack ECAL-only: RunHLTPhy2018D on GPU (optional), RunJetHT2018D on GPU (optional) +# Patatrack HCAL-only: RunHLTPhy2018D on GPU (optional), RunJetHT2018D on GPU (optional) workflows[136.885502] = ['',['RunHLTPhy2018D','HLTDR2_2018','RECODR2_2018reHLT_Patatrack_PixelOnlyGPU','HARVEST2018_pixelTrackingOnly']] workflows[136.888502] = ['',['RunJetHT2018D','HLTDR2_2018','RECODR2_2018reHLT_Patatrack_PixelOnlyGPU','HARVEST2018_pixelTrackingOnly']] diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index c74a6c1f3a323..c802b614c345b 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -556,10 +556,13 @@ def setup_(self, step, stepName, stepDict, k, properties): else: stepDict[stepName][k] = merge([self.__harvest, stepDict[step][k]]) - +# Pixel-only quadruplets workflow running on CPU +# - HLT on CPU +# - Pixel-only reconstruction on CPU, with DQM and validation +# - harvesting upgradeWFs['PatatrackPixelOnlyCPU'] = PatatrackWorkflow( digi = { - # there is no customisation for enabling the Patatrack pixel quadruplets running only on the CPU + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled }, reco = { '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM', @@ -572,8 +575,13 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.501, ) +# Pixel-only quadruplets workflow running on CPU or GPU +# - HLT on GPU (optional) +# - Pixel-only reconstruction on GPU (optional), with DQM and validation +# - harvesting upgradeWFs['PatatrackPixelOnlyGPU'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -587,10 +595,34 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.502, ) -# add here a .503 workflow for GPU vs CPU validation +# Pixel-only quadruplets workflow running on CPU and GPU +# - HLT on GPU (required) +# - Pixel-only reconstruction on both CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackPixelOnlyGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' + }, + suffix = 'Patatrack_PixelOnlyGPU_Validation', + offset = 0.503, +) +# Pixel-only quadruplets workflow running on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - Pixel-only reconstruction on GPU (optional) upgradeWFs['PatatrackPixelOnlyGPUProfiling'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -603,9 +635,13 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.504, ) +# Pixel-only triplets workflow running on CPU +# - HLT on CPU +# - Pixel-only reconstruction on CPU, with DQM and validation +# - harvesting upgradeWFs['PatatrackPixelOnlyTripletsCPU'] = PatatrackWorkflow( digi = { - # there is no customisation for enabling the Patatrack pixel triplets running only on the CPU + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled }, reco = { '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM', @@ -619,10 +655,14 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.505, ) +# Pixel-only triplets workflow running on CPU or GPU +# - HLT on GPU (optional) +# - Pixel-only reconstruction on GPU (optional), with DQM and validation +# - harvesting upgradeWFs['PatatrackPixelOnlyTripletsGPU'] = PatatrackWorkflow( digi = { - '--procModifiers': 'gpu', - '--customise': 'HLTrigger/Configuration/customizeHLTforPatatrack.enablePatatrackPixelTriplets' + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--procModifiers': 'gpu' }, reco = { '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM', @@ -636,12 +676,36 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.506, ) -# add here a .507 workflow for GPU vs CPU validation +# Pixel-only triplets workflow running on CPU and GPU +# - HLT on GPU (required) +# - Pixel-only reconstruction on both CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackPixelOnlyTripletsGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation', + '--customise': 'RecoPixelVertexing/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' + }, + suffix = 'Patatrack_PixelOnlyTripletsGPU_Validation', + offset = 0.507, +) +# Pixel-only triplets workflow running on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - Pixel-only reconstruction on GPU (optional) upgradeWFs['PatatrackPixelOnlyTripletsGPUProfiling'] = PatatrackWorkflow( digi = { - '--procModifiers': 'gpu', - '--customise': 'HLTrigger/Configuration/customizeHLTforPatatrack.enablePatatrackPixelTriplets' + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--procModifiers': 'gpu' }, reco = { '-s': 'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly', @@ -653,7 +717,14 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.508, ) +# ECAL-only workflow running on CPU +# - HLT on CPU +# - ECAL-only reconstruction on CPU, with DQM and validation +# - harvesting upgradeWFs['PatatrackECALOnlyCPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + }, reco = { '-s': 'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly', }, @@ -664,8 +735,13 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.511, ) +# ECAL-only workflow running on CPU or GPU +# - HLT on GPU (optional) +# - ECAL-only reconstruction on GPU (optional), with DQM and validation +# - harvesting upgradeWFs['PatatrackECALOnlyGPU'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -679,8 +755,13 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.512, ) +# ECAL-only workflow running on CPU and GPU +# - HLT on GPU (required) +# - ECAL-only reconstruction on both CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting upgradeWFs['PatatrackECALOnlyGPUValidation'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--accelerators': 'gpu-nvidia', '--procModifiers': 'gpu' }, @@ -696,8 +777,12 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.513, ) +# ECAL-only workflow running on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - ECAL-only reconstruction on GPU (optional) upgradeWFs['PatatrackECALOnlyGPUProfiling'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -710,7 +795,14 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.514, ) +# HCAL-only workflow running on CPU +# - HLT on CPU +# - HCAL-only reconstruction on CPU, with DQM and validation +# - harvesting upgradeWFs['PatatrackHCALOnlyCPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + }, reco = { '-s': 'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only', }, @@ -721,8 +813,13 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.521, ) +# HCAL-only workflow running on CPU or GPU +# - HLT on GPU (optional) +# - HCAL-only reconstruction on GPU (optional), with DQM and validation +# - harvesting upgradeWFs['PatatrackHCALOnlyGPU'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -736,10 +833,34 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.522, ) -# add here a .523 workflow for GPU vs CPU validation +# HCAL-only workflow running on CPU and GPU +# - HLT on GPU (required) +# - HCAL-only reconstruction on both CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackHCALOnlyGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpuValidation' + }, + harvest = { + '-s': 'HARVESTING:@hcalOnlyValidation+@hcal' + }, + suffix = 'Patatrack_HCALOnlyGPU_Validation', + offset = 0.523, +) +# HCAL-only workflow running on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - HCAL-only reconstruction on GPU (optional) upgradeWFs['PatatrackHCALOnlyGPUProfiling'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -752,9 +873,145 @@ def setup_(self, step, stepName, stepDict, k, properties): offset = 0.524, ) -upgradeWFs['PatatrackCPU'] = PatatrackWorkflow( +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU +# - HLT on CPU +# - reconstruction on CPU, with DQM and validation +# - harvesting +upgradeWFs['PatatrackAllCPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--procModifiers': 'pixelNtupletFit' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllCPU', + offset = 0.581, +) + +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU or GPU +# - HLT on GPU (optional) +# - reconstruction on GPU (optional), with DQM and validation +# - harvesting +upgradeWFs['PatatrackAllGPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--procModifiers': 'pixelNtupletFit,gpu' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllGPU', + offset = 0.582, +) + +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU and GPU +# - HLT on GPU (required) +# - reconstruction on CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackAllGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllGPU_Validation', + offset = 0.583, +) + +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - minimal reconstruction on GPU (optional) +# FIXME workflow 0.584 to be implemented + +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU +# - HLT on CPU +# - reconstruction on CPU, with DQM and validation +# - harvesting +upgradeWFs['PatatrackAllTripletsCPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--procModifiers': 'pixelNtupletFit' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllTripletsCPU', + offset = 0.585, +) + +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU or GPU +# - HLT on GPU (optional) +# - reconstruction on GPU (optional), with DQM and validation +# - harvesting +upgradeWFs['PatatrackAllTripletsGPU'] = PatatrackWorkflow( digi = { - # there is no customisation for enabling the Patatrack pixel quadruplets running only on the CPU + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--procModifiers': 'pixelNtupletFit,gpu' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllTripletsGPU', + offset = 0.586, +) + +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU and GPU +# - HLT on GPU (required) +# - reconstruction on CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackAllTripletsGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + '-s': 'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation' + }, + harvest = { + '-s': 'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' + }, + suffix = 'Patatrack_AllTripletsGPU_Validation', + offset = 0.587, +) + +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU or GPU, trimmed down for benchmarking +# - HLT on GPU (optional) +# - minimal reconstruction on GPU (optional) +# FIXME workflow 0.588 to be implemented + +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU, together with the full offline reconstruction +# - HLT on CPU +# - reconstruction on CPU, with DQM and validation +# - harvesting +upgradeWFs['PatatrackFullRecoCPU'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled }, reco = { # skip the @pixelTrackingOnlyValidation which cannot run together with the full reconstruction @@ -762,13 +1019,19 @@ def setup_(self, step, stepName, stepDict, k, properties): '--procModifiers': 'pixelNtupletFit' }, harvest = { + # skip the @pixelTrackingOnlyDQM harvesting }, - suffix = 'Patatrack_CPU', + suffix = 'Patatrack_FullRecoCPU', offset = 0.591, ) -upgradeWFs['PatatrackGPU'] = PatatrackWorkflow( +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on GPU (optional), together with the full offline reconstruction on CPU +# - HLT on GPU (optional) +# - reconstruction on GPU (optional), with DQM and validation +# - harvesting +upgradeWFs['PatatrackFullRecoGPU'] = PatatrackWorkflow( digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled '--procModifiers': 'gpu' }, reco = { @@ -777,14 +1040,42 @@ def setup_(self, step, stepName, stepDict, k, properties): '--procModifiers': 'pixelNtupletFit,gpu' }, harvest = { + # skip the @pixelTrackingOnlyDQM harvesting }, - suffix = 'Patatrack_GPU', + suffix = 'Patatrack_FullRecoGPU', offset = 0.592, ) -upgradeWFs['PatatrackTripletsCPU'] = PatatrackWorkflow( +# Workflow running the Pixel quadruplets, ECAL and HCAL reconstruction on CPU and GPU, together with the full offline reconstruction on CPU +# - HLT on GPU (required) +# - reconstruction on CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackFullRecoGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + # skip the @pixelTrackingOnlyValidation which cannot run together with the full reconstruction + '-s': 'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation' + }, + harvest = { + # skip the @pixelTrackingOnlyDQM harvesting + }, + suffix = 'Patatrack_FullRecoGPU_Validation', + offset = 0.593, +) + +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU, together with the full offline reconstruction +# - HLT on CPU +# - reconstruction on CPU, with DQM and validation +# - harvesting +upgradeWFs['PatatrackFullRecoTripletsCPU'] = PatatrackWorkflow( digi = { - # there is no customisation for enabling the Patatrack pixel triplets running only on the CPU + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled }, reco = { # skip the @pixelTrackingOnlyValidation which cannot run together with the full reconstruction @@ -793,15 +1084,20 @@ def setup_(self, step, stepName, stepDict, k, properties): '--customise' : 'RecoPixelVertexing/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' }, harvest = { + # skip the @pixelTrackingOnlyDQM harvesting }, - suffix = 'Patatrack_TripletsCPU', + suffix = 'Patatrack_FullRecoTripletsCPU', offset = 0.595, ) -upgradeWFs['PatatrackTripletsGPU'] = PatatrackWorkflow( +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on GPU (optional), together with the full offline reconstruction on CPU +# - HLT on GPU (optional) +# - reconstruction on GPU (optional), with DQM and validation +# - harvesting +upgradeWFs['PatatrackFullRecoTripletsGPU'] = PatatrackWorkflow( digi = { - '--procModifiers': 'gpu', - '--customise': 'HLTrigger/Configuration/customizeHLTforPatatrack.enablePatatrackPixelTriplets' + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--procModifiers': 'gpu' }, reco = { # skip the @pixelTrackingOnlyValidation which cannot run together with the full reconstruction @@ -810,11 +1106,37 @@ def setup_(self, step, stepName, stepDict, k, properties): '--customise': 'RecoPixelVertexing/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' }, harvest = { + # skip the @pixelTrackingOnlyDQM harvesting }, - suffix = 'Patatrack_TripletsGPU', + suffix = 'Patatrack_FullRecoTripletsGPU', offset = 0.596, ) +# Workflow running the Pixel triplets, ECAL and HCAL reconstruction on CPU and GPU, together with the full offline reconstruction on CPU +# - HLT on GPU (required) +# - reconstruction on CPU and GPU, with DQM and validation for GPU-vs-CPU comparisons +# - harvesting +upgradeWFs['PatatrackFullRecoTripletsGPUValidation'] = PatatrackWorkflow( + digi = { + # the HLT menu is already set up for using GPUs if available and if the "gpu" modifier is enabled + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'gpu' + }, + reco = { + # skip the @pixelTrackingOnlyValidation which cannot run together with the full reconstruction + '-s': 'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM', + '--accelerators': 'gpu-nvidia', + '--procModifiers': 'pixelNtupletFit,gpuValidation', + '--customise' : 'RecoPixelVertexing/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' + }, + harvest = { + # skip the @pixelTrackingOnlyDQM harvesting + }, + suffix = 'Patatrack_FullRecoTripletsGPU_Validation', + offset = 0.597, +) + + # end of Patatrack workflows class UpgradeWorkflow_ProdLike(UpgradeWorkflow):