CMS 3D CMS Logo

customizePixelOnlyForProfiling.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # Customise the Pixel-only reconstruction to run on GPU
4 #
5 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU.
6 # CUDA and Alpaka co-living here for the moment
7 
9 
10  process.consumer = cms.EDAnalyzer("GenericConsumer",
11  eventProducts = cms.untracked.vstring('pixelTracksCUDA', 'pixelVerticesCUDA', '*DeviceProduct_pixelTracksAlpaka_*_*', '*DeviceProduct_pixelVerticesAlpaka_*_*')
12  )
13 
14  process.consume_step = cms.EndPath(process.consumer)
15 
16  process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
17 
18  return process
19 
20 
21 # Customise the Pixel-only reconstruction to run on GPU, and copy the data to the host
22 #
23 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU,
24 # and copy all the products to the host in SoA format.
25 #
26 # The same customisation can be also used on the SoA CPU workflow, running up to the
27 # tracks and vertices on the CPU in SoA format, without conversion to legacy format.
29 
30  process.consumer = cms.EDAnalyzer("GenericConsumer",
31  eventProducts = cms.untracked.vstring('pixelTracksSoA', 'pixelVerticesSoA', 'pixelTracksAlpaka', 'pixelVerticesAlpaka')
32  )
33 
34  process.consume_step = cms.EndPath(process.consumer)
35 
36  process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
37 
38  return process
39 
40 
41 # Customise the Pixel-only reconstruction to run on GPU, copy the data to the host,
42 # and convert to legacy format
43 #
44 # Run the unpacker, clustering, ntuplets, track fit and vertex reconstruction on GPU;
45 # copy all the products to the host in SoA format; and convert them to legacy format.
46 #
47 # The same customisation can be also used on the CPU workflow, running up to the
48 # tracks and vertices on the CPU.
50 
51  process.consumer = cms.EDAnalyzer("GenericConsumer",
52  eventProducts = cms.untracked.vstring('pixelTracks', 'pixelVertices')
53  )
54 
55  process.consume_step = cms.EndPath(process.consumer)
56 
57  process.schedule = cms.Schedule(process.raw2digi_step, process.reconstruction_step, process.consume_step)
58 
59  return process