Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:02:14

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # Customise the Pixel-only reconstruction to run on GPU
0004 #
0005 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU.
0006 def customizePixelOnlyForProfilingGPUOnly(process):
0007 
0008   process.consumer = cms.EDAnalyzer("GenericConsumer",
0009       eventProducts = cms.untracked.vstring('pixelTracksCUDA', 'pixelVerticesCUDA')
0010   )
0011 
0012   process.consume_step = cms.EndPath(process.consumer)
0013 
0014   process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
0015 
0016   return process
0017 
0018 
0019 # Customise the Pixel-only reconstruction to run on GPU, and copy the data to the host
0020 #
0021 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU,
0022 # and copy all the products to the host in SoA format.
0023 #
0024 # The same customisation can be also used on the SoA CPU workflow, running up to the
0025 # tracks and vertices on the CPU in SoA format, without conversion to legacy format.
0026 def customizePixelOnlyForProfilingGPUWithHostCopy(process):
0027 
0028   #? process.siPixelRecHitSoAFromLegacy.convertToLegacy = False
0029 
0030   process.consumer = cms.EDAnalyzer("GenericConsumer",
0031       eventProducts = cms.untracked.vstring('pixelTracksSoA', 'pixelVerticesSoA')
0032   )
0033 
0034   process.consume_step = cms.EndPath(process.consumer)
0035 
0036   process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
0037 
0038   return process
0039 
0040 
0041 # Customise the Pixel-only reconstruction to run on GPU, copy the data to the host,
0042 # and convert to legacy format
0043 #
0044 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU;
0045 # copy all the products to the host in SoA format; and convert them to legacy format.
0046 #
0047 # The same customisation can be also used on the CPU workflow, running up to the
0048 # tracks and vertices on the CPU.
0049 def customizePixelOnlyForProfiling(process):
0050 
0051   process.consumer = cms.EDAnalyzer("GenericConsumer",
0052       eventProducts = cms.untracked.vstring('pixelTracks', 'pixelVertices')
0053   )
0054 
0055   process.consume_step = cms.EndPath(process.consumer)
0056 
0057   process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
0058 
0059   return process