Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA
0003 
0004 # from RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_RealData_cfi import *
0005 
0006 from RecoLocalTracker.SiStripClusterizer.DefaultClusterizer_cff import *
0007 from RecoLocalTracker.SiStripZeroSuppression.DefaultAlgorithms_cff import *
0008 
0009 from RecoLocalTracker.SiStripClusterizer.siStripClusterizerFromRawGPU_cfi import siStripClusterizerFromRawGPU
0010 from RecoLocalTracker.SiStripClusterizer.siStripClustersSOAtoHost_cfi import siStripClustersSOAtoHost
0011 from RecoLocalTracker.SiStripClusterizer.siStripClustersFromSOA_cfi import siStripClustersFromSOA
0012 from RecoLocalTracker.SiStripClusterizer.SiStripClusterizerConditionsGPUESProducer_cfi import SiStripClusterizerConditionsGPUESProducer
0013 
0014 _siStripClusterizerFromRaw = cms.EDProducer("SiStripClusterizerFromRaw",
0015                                             onDemand = cms.bool(True),
0016                                             Clusterizer = DefaultClusterizer,
0017                                             Algorithms = DefaultAlgorithms,
0018                                             DoAPVEmulatorCheck = cms.bool(False),
0019                                             HybridZeroSuppressed = cms.bool(False),
0020                                             ProductLabel = cms.InputTag('rawDataCollector'))
0021 
0022 _siStripClusterizerFromRaw.Clusterizer.MaxClusterSize = cms.uint32(16)
0023 
0024 siStripClusterizerFromRawGPU.Clusterizer = DefaultClusterizer
0025 
0026 siStripClusters = SwitchProducerCUDA(
0027     cpu = _siStripClusterizerFromRaw.clone(),
0028 )
0029 
0030 siStripClustersTask = cms.Task(
0031     siStripClusters,
0032 )
0033 
0034 from Configuration.ProcessModifiers.gpu_cff import gpu
0035 
0036 gpu.toModify(siStripClusters,
0037     cuda = siStripClustersFromSOA,
0038 )
0039 
0040 siStripClustersTaskCUDA = cms.Task()
0041 
0042 gpu.toReplaceWith(siStripClustersTaskCUDA, cms.Task(
0043     # conditions used *only* by the modules running on GPU
0044     SiStripClusterizerConditionsGPUESProducer,
0045     # reconstruct the strip clusters on the gpu
0046     siStripClusterizerFromRawGPU,
0047     # copy clusters from GPU to pinned host memory
0048     siStripClustersSOAtoHost,
0049 ))
0050 
0051 gpu.toReplaceWith(siStripClustersTask, cms.Task(
0052     # CUDA specific
0053     siStripClustersTaskCUDA,
0054     # switch producer to legacy format
0055     siStripClusters,
0056 ))