CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
ProcessAcceleratorCUDA.ProcessAcceleratorCUDA Class Reference
Inheritance diagram for ProcessAcceleratorCUDA.ProcessAcceleratorCUDA:

Public Member Functions

def __init__ (self)
 
def apply (self, process, accelerators)
 
def enabledLabels (self)
 
def labels (self)
 

Private Attributes

 _label
 

Detailed Description

Definition at line 7 of file ProcessAcceleratorCUDA.py.

Constructor & Destructor Documentation

◆ __init__()

def ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.__init__ (   self)

Definition at line 8 of file ProcessAcceleratorCUDA.py.

8  def __init__(self):
9  super(ProcessAcceleratorCUDA, self).__init__()
10  self._label = "gpu-nvidia"
11 
def __init__(self, dataset, job_number, job_id, job_name, isDA, isMC, applyBOWS, applyEXTRACOND, extraconditions, runboundary, lumilist, intlumi, maxevents, gt, allFromGT, alignmentDB, alignmentTAG, apeDB, apeTAG, bowDB, bowTAG, vertextype, tracktype, refittertype, ttrhtype, applyruncontrol, ptcut, CMSSW_dir, the_dir)

Member Function Documentation

◆ apply()

def ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.apply (   self,
  process,
  accelerators 
)

Definition at line 22 of file ProcessAcceleratorCUDA.py.

References ProcessAcceleratorCUDA.ProcessAcceleratorCUDA._label, LHECOMWeightProducer._label, and conddb2hdf5.DBDataProduct._label.

Referenced by heavyIonTools.ConfigureHeavyIons.__call__(), coreTools.RunOnData.__call__(), trackTools.MakeAODTrackCandidates.__call__(), runJetUncertainties.RunJetUncertainties.__call__(), metTools.AddMETCollection.__call__(), heavyIonTools.ProductionDefaults.__call__(), cmsswVersionTools.PickRelValInputFiles.__call__(), coreTools.RemoveMCMatching.__call__(), trackTools.MakePATTrackCandidates.__call__(), trigTools.SwitchOnTrigger.__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__call__(), heavyIonTools.SelectionDefaults.__call__(), heavyIonTools.DisbaleMonteCarloDeps.__call__(), trigTools.SwitchOnTriggerStandAlone.__call__(), tauTools.AddTauCollection.__call__(), trackTools.MakeTrackCandidates.__call__(), trigTools.SwitchOnTriggerMatching.__call__(), trigTools.SwitchOnTriggerMatchingStandAlone.__call__(), trigTools.SwitchOnTriggerMatchEmbedding.__call__(), jetTools.AddJetCollection.__call__(), jetTools.SwitchJetCollection.__call__(), jetTools.UpdateJetCollection.__call__(), jetTools.AddJetID.__call__(), and jetTools.SetTagInfos.__call__().

22  def apply(self, process, accelerators):
23 
24  if self._label in accelerators:
25  # Ensure that the CUDAService is loaded
26  if not hasattr(process, "CUDAService"):
27  from HeterogeneousCore.CUDAServices.CUDAService_cfi import CUDAService
28  process.add_(CUDAService)
29 
30  # Propagate the CUDAService messages through the MessageLogger
31  if not hasattr(process.MessageLogger, "CUDAService"):
32  process.MessageLogger.CUDAService = cms.untracked.PSet()
33 
34  else:
35  # Make sure the CUDAService is not loaded
36  if hasattr(process, "CUDAService"):
37  del process.CUDAService
38 
39  # Drop the CUDAService messages from the MessageLogger
40  if hasattr(process.MessageLogger, "CUDAService"):
41  del process.MessageLogger.CUDAService
42 
43 
44 # Ensure this module is kept in the configuration when dumping it
45 cms.specialImportRegistry.registerSpecialImportForType(ProcessAcceleratorCUDA, "from HeterogeneousCore.CUDACore.ProcessAcceleratorCUDA import ProcessAcceleratorCUDA")
46 
Vec apply(Vec v, F f)
Definition: ExtVec.h:77

◆ enabledLabels()

def ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.enabledLabels (   self)

Definition at line 15 of file ProcessAcceleratorCUDA.py.

References ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.labels(), CollectionCombiner< Collection >.labels, confdb.HLTProcess.labels, trigger::HLTPrescaleTable.labels(), ecaldqm::binning::AxisSpecs.labels, Config.ProcessAccelerator.labels(), Config.ProcessAcceleratorTest.labels(), Config.ProcessAcceleratorTest2.labels(), and svgfig.Ticks.labels.

15  def enabledLabels(self):
16  # Check if CUDA is available, and if the system has at least one usable device.
17  # These should be checked on each worker node, because it depends both
18  # on the architecture and on the actual hardware present in the machine.
19  status = PlatformStatus(os.waitstatus_to_exitcode(os.system("cudaIsEnabled")))
20  return self.labels() if status == PlatformStatus.Success else []
21 

◆ labels()

def ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.labels (   self)

Member Data Documentation

◆ _label