File indexing completed on 2024-04-06 12:15:39
0001 import os
0002 import sys
0003
0004
0005 try:
0006 backend = os.environ['SCRAM_ALPAKA_BACKEND']
0007 except:
0008 backend = 'SerialSync'
0009
0010
0011 accelerators = {
0012 'SerialSync': 'cpu',
0013 'CudaAsync': 'gpu-nvidia',
0014 'ROCmAsync': 'gpu-amd'
0015 }
0016
0017 print(f"Testing the alpaka backend {backend} using the process accelerator {accelerators[backend]}")
0018
0019 import FWCore.ParameterSet.Config as cms
0020 from HeterogeneousCore.AlpakaCore.functions import *
0021
0022 process = cms.Process('Test')
0023
0024 process.options.accelerators = [ accelerators[backend] ]
0025
0026 process.maxEvents.input = 10
0027
0028 process.source = cms.Source('EmptySource')
0029
0030 process.load('Configuration.StandardSequences.Accelerators_cff')
0031 process.load('HeterogeneousCore.AlpakaCore.ProcessAcceleratorAlpaka_cfi')
0032
0033 process.alpakaBackendProducer = cms.EDProducer('AlpakaBackendProducer@alpaka')
0034
0035 process.alpakaBackendFilter = cms.EDFilter('AlpakaBackendFilter',
0036 producer = cms.InputTag('alpakaBackendProducer', 'backend'),
0037 backends = cms.vstring(backend)
0038 )
0039
0040 process.mustRun = cms.EDProducer("edmtest::MustRunIntProducer", ivalue=cms.int32(1))
0041 process.mustNotRun = cms.EDProducer("FailingProducer")
0042
0043 process.SelectedBackend = cms.Path(process.alpakaBackendProducer + process.alpakaBackendFilter + process.mustRun)
0044 process.AnyOtherBackend = cms.Path(process.alpakaBackendProducer + ~process.alpakaBackendFilter + process.mustNotRun)
0045
0046 process.options.wantSummary = True