Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:39

0001 import os
0002 import sys
0003 
0004 # choose a different alpaka backend depending on the SCRAM test being run
0005 try:
0006     backend = os.environ['SCRAM_ALPAKA_BACKEND']
0007 except:
0008     backend = 'SerialSync'
0009 
0010 # map the alpaka backends to the process accelerators
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