From a68d9b8b3ee490aff68b9f1dae25e22290ad3267 Mon Sep 17 00:00:00 2001 From: Matti Kortelainen Date: Thu, 16 Jan 2020 04:20:12 -0600 Subject: [PATCH] Load CUDAService from Services_cff, and only if gpu modifier is active (#432) Include offlineBeamSpotCUDA only if gpu modifier is active --- Configuration/Applications/python/ConfigBuilder.py | 2 -- .../StandardSequences/python/Services_cff.py | 5 +++++ RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py | 11 ++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Configuration/Applications/python/ConfigBuilder.py b/Configuration/Applications/python/ConfigBuilder.py index 4ae4b2df7a1d7..608651f121385 100644 --- a/Configuration/Applications/python/ConfigBuilder.py +++ b/Configuration/Applications/python/ConfigBuilder.py @@ -921,8 +921,6 @@ def define_Configs(self): self.loadAndRemember('SimGeneral.HepPDTESSource.'+self._options.particleTable+'_cfi') self.loadAndRemember('FWCore/MessageService/MessageLogger_cfi') - # Eventually replace with some more generic file to load - self.loadAndRemember('HeterogeneousCore/CUDAServices/CUDAService_cfi') self.ALCADefaultCFF="Configuration/StandardSequences/AlCaRecoStreams_cff" self.GENDefaultCFF="Configuration/StandardSequences/Generator_cff" diff --git a/Configuration/StandardSequences/python/Services_cff.py b/Configuration/StandardSequences/python/Services_cff.py index 10ff349e97e4e..77a6ca9b0e57f 100644 --- a/Configuration/StandardSequences/python/Services_cff.py +++ b/Configuration/StandardSequences/python/Services_cff.py @@ -11,3 +11,8 @@ #an "intermediate layer" remains, just in case somebody is using it... # from Configuration.StandardSequences.SimulationRandomNumberGeneratorSeeds_cff import * from DQMServices.Core.DQMStore_cfg import * + +from Configuration.ProcessModifiers.gpu_cff import gpu +def loadCUDAService(process): + process.load("HeterogeneousCore.CUDAServices.CUDAService_cfi") +modifyConfigurationStandardSequencesServicesCUDAService = gpu.makeProcessModifier(loadCUDAService) diff --git a/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py b/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py index 9654f9ab410b8..96514aabe1426 100644 --- a/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py +++ b/RecoVertex/BeamSpotProducer/python/BeamSpot_cff.py @@ -3,9 +3,10 @@ from RecoVertex.BeamSpotProducer.BeamSpot_cfi import * from RecoVertex.BeamSpotProducer.beamSpotToCUDA_cfi import beamSpotToCUDA as _beamSpotToCUDA -offlineBeamSpotCUDA = _beamSpotToCUDA.clone() +offlineBeamSpotTask = cms.Task(offlineBeamSpot) -offlineBeamSpotTask = cms.Task( - offlineBeamSpot, - offlineBeamSpotCUDA -) +from Configuration.ProcessModifiers.gpu_cff import gpu +offlineBeamSpotCUDA = _beamSpotToCUDA.clone() +_offlineBeamSpotTask_gpu = offlineBeamSpotTask.copy() +_offlineBeamSpotTask_gpu.add(offlineBeamSpotCUDA) +gpu.toReplaceWith(offlineBeamSpotTask, _offlineBeamSpotTask_gpu)