Skip to content

Automatic switching between CPU and GPU for DQMEDAnalyzer #35879

@sroychow

Description

@sroychow

From Tracker DQM side, we are developing DQM modules to monitor hlt products(e.g. pixel Tracks, Vertices in SoA) which can either be produced on a GPU or a CPU. Right now in out tests, the same module is modified with the gpu modifier to use the correct product in a GPU wf. Example is :-

monitorpixelTrackSoA = DQMEDAnalyzer('SiPixelPhase1MonitorTrackSoA',
                                        pixelTrackSrc = cms.InputTag("pixelTracksSoA@cpu"),
                                        TopFolderName = cms.string("SiPixelHeterogeneous/PixelTrackSoA"),
)

gpu.toModify(monitorpixelTrackSoA,
    pixelTrackSrc = cms.InputTag("pixelTracksSoA@cuda")
)

Given that we want to run this at HLT, I wanted to understand if we can have a SwitchProducer mechanism for DQMEDAnalyzer so that we can do something like this:-

monitorpixelTrackSoA =  SwitchProducerCUDA(
    cpu =DQMEDAnalyzer(.....
                            pixelTrackSrc = cms.InputTag("pixelTracksSoA@cpu"),
            )
    cuda = DQMEDAnalyzer(.....
                             pixelTrackSrc = cms.InputTag("pixelTracksSoA@cuda"),
                ),
)

Can FrameWork experts give some guidance on this?
@arossi83 @mmusich @tsusa @connorpa

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions