From 856c7df8e728b0da949f5d0ecf50a3aa888051a4 Mon Sep 17 00:00:00 2001 From: Cms Build Date: Fri, 17 Aug 2018 16:16:42 +0200 Subject: [PATCH] Add optional flags to disable SOA->legacy conversion and GPU->CPU transfer (cms-patatrack#132) Always produce the CPU cluster and rechit collections, since they are needed anyway. Add transfer and conversion flags to clusterizer, rechits and CA. Add a skeleton for the future pixel track producer. Add customize functions to disable conversions to legacy formats, and to disable unnecessary GPU->CPU transfers. --- .../customizePixelTracksForProfiling.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/RecoPixelVertexing/Configuration/python/customizePixelTracksForProfiling.py b/RecoPixelVertexing/Configuration/python/customizePixelTracksForProfiling.py index 4713b64e5e48a..99a3a9321062b 100644 --- a/RecoPixelVertexing/Configuration/python/customizePixelTracksForProfiling.py +++ b/RecoPixelVertexing/Configuration/python/customizePixelTracksForProfiling.py @@ -1,6 +1,8 @@ import FWCore.ParameterSet.Config as cms def customizePixelTracksForProfiling(process): + process.MessageLogger.cerr.FwkReport.reportEvery = 100 + process.out = cms.OutputModule("AsciiOutputModule", outputCommands = cms.untracked.vstring( "keep *_pixelTracks_*_*", @@ -13,3 +15,30 @@ def customizePixelTracksForProfiling(process): process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.outPath) return process + +def customizePixelTracksForProfilingDisableConversion(process): + process = customizePixelTracksForProfiling(process) + + # Turn off cluster shape filter so that CA doesn't depend on clusters + process.pixelTracksHitQuadruplets.SeedComparitorPSet = cms.PSet(ComponentName = cms.string("none")) + + # Replace pixel track producer with a dummy one for now + from RecoPixelVertexing.PixelTrackFitting.pixelTrackProducerFromCUDA_cfi import pixelTrackProducerFromCUDA as _pixelTrackProducerFromCUDA + process.pixelTracks = _pixelTrackProducerFromCUDA.clone() + + # Disable conversions to legacy + process.siPixelClustersPreSplitting.gpuEnableConversion = False + process.siPixelRecHitsPreSplitting.gpuEnableConversion = False + process.pixelTracksHitQuadruplets.gpuEnableConversion = False + + return process + +def customizePixelTracksForProfilingDisableTransfer(process): + process = customizePixelTracksForProfilingDisableConversion(process) + + # Disable "unnecessary" transfers to CPU + process.siPixelClustersPreSplitting.gpuEnableTransfer = False + process.siPixelRecHitsPreSplitting.gpuEnableTransfer = False + process.pixelTracksHitQuadruplets.gpuEnableTransfer = False + + return process