Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:00

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 # CUDA and Alpaka co-living here for the moment
0007 
0008 def customizePixelOnlyForProfilingGPUOnly(process):
0009 
0010   process.consumer = cms.EDAnalyzer("GenericConsumer",
0011       eventProducts = cms.untracked.vstring('pixelTracksCUDA', 'pixelVerticesCUDA', '*DeviceProduct_pixelTracksAlpaka_*_*', '*DeviceProduct_pixelVerticesAlpaka_*_*')
0012   )
0013 
0014   process.consume_step = cms.EndPath(process.consumer)
0015 
0016   process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
0017 
0018   return process
0019 
0020 
0021 # Customise the Pixel-only reconstruction to run on GPU, and copy the data to the host
0022 #
0023 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU,
0024 # and copy all the products to the host in SoA format.
0025 #
0026 # The same customisation can be also used on the SoA CPU workflow, running up to the
0027 # tracks and vertices on the CPU in SoA format, without conversion to legacy format.
0028 def customizePixelOnlyForProfilingGPUWithHostCopy(process):
0029 
0030   process.consumer = cms.EDAnalyzer("GenericConsumer",
0031       eventProducts = cms.untracked.vstring('pixelTracksSoA', 'pixelVerticesSoA', 'pixelTracksAlpaka', 'pixelVerticesAlpaka')
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