CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
Config.ProcessAccelerator Class Reference
Inheritance diagram for Config.ProcessAccelerator:
Mixins._ConfigureComponent Mixins._Unlabelable Config.ProcessAcceleratorTest Config.ProcessAcceleratorTest2

Public Member Functions

def __init__ (self)
 
def apply (self, process, accelerators)
 
def dumpPython (self, options=PrintOptions())
 
def dumpPythonImpl (self, options)
 
def enabledLabels (self)
 
def labels (self)
 
def type_ (self)
 

Private Member Functions

def _place (self, name, proc)
 

Detailed Description

A class used to specify possible compute accelerators in a Process
instance. It is intended to be derived for any
accelerator/portability technology, and provides hooks such that a
specific customization can be applied to the Process on a worker
node at the point where the python configuration is serialized for C++.

The customization must not change the configuration hash. To
enforce this reuirement, the customization gets a
ProcessForProcessAccelerator wrapper that gives access to only
those parts of the configuration that can be changed. Nevertheless
it would be good to have specific unit test for each deriving
class to ensure that all combinations of the enabled accelerators
give the same configuration hash.

Definition at line 1937 of file Config.py.

Constructor & Destructor Documentation

◆ __init__()

def Config.ProcessAccelerator.__init__ (   self)

Definition at line 1952 of file Config.py.

1952  def __init__(self):
1953  pass
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

◆ _place()

def Config.ProcessAccelerator._place (   self,
  name,
  proc 
)
private

Definition at line 1954 of file Config.py.

1954  def _place(self, name, proc):
1955  proc._placeAccelerator(self.type_(), self)

◆ apply()

def Config.ProcessAccelerator.apply (   self,
  process,
  accelerators 
)
Override if need to customize the Process at worker node. The
selected available accelerator labels are given in the
'accelerators' argument (the patterns, e.g. '*' have been
expanded to concrete labels).

This function may touch only untracked parameters.

Definition at line 1980 of file Config.py.

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__().

1980  def apply(self, process, accelerators):
1981  """Override if need to customize the Process at worker node. The
1982  selected available accelerator labels are given in the
1983  'accelerators' argument (the patterns, e.g. '*' have been
1984  expanded to concrete labels).
1985 
1986  This function may touch only untracked parameters.
1987  """
1988  pass
1989 
Vec apply(Vec v, F f)
Definition: ExtVec.h:81

◆ dumpPython()

def Config.ProcessAccelerator.dumpPython (   self,
  options = PrintOptions() 
)

Definition at line 1958 of file Config.py.

References __class__< T >.__class__(), and Config.ProcessAccelerator.dumpPythonImpl().

Referenced by Modules.SwitchProducer.__addParameter(), Types._AllowedParameterTypes.__init__(), Mixins._ParameterTypeBase.__repr__(), Mixins._Parameterizable.__repr__(), Mixins._ValidatingParameterListBase.__repr__(), Types.VPSet.__repr__(), Mixins._Parameterizable.__setattr__(), Modules.SwitchProducer.__setattr__(), and SequenceTypes.Schedule.__str__().

1958  def dumpPython(self, options=PrintOptions()):
1959  specialImportRegistry.registerUse(self)
1960  result = self.__class__.__name__+"(" # not including cms. since the deriving classes are not in cms "namespace"
1961  options.indent()
1962  res = self.dumpPythonImpl(options)
1963  options.unindent()
1964  if len(res) > 0:
1965  result += "\n"+res+"\n"
1966  result += ")\n"
1967  return result
1968 
def dumpPython(process, name)

◆ dumpPythonImpl()

def Config.ProcessAccelerator.dumpPythonImpl (   self,
  options 
)
Override if need to add any 'body' content to dumpPython(). Returns a string.

Definition at line 1970 of file Config.py.

Referenced by Config.ProcessAccelerator.dumpPython().

1970  def dumpPythonImpl(self, options):
1971  """Override if need to add any 'body' content to dumpPython(). Returns a string."""
1972  return ""

◆ enabledLabels()

def Config.ProcessAccelerator.enabledLabels (   self)
Override to return a list of strings for the accelerator labels
that are enabled in the system the job is being run on.

Definition at line 1976 of file Config.py.

1976  def enabledLabels(self):
1977  """Override to return a list of strings for the accelerator labels
1978  that are enabled in the system the job is being run on."""
1979  return []

◆ labels()

def Config.ProcessAccelerator.labels (   self)
Override to return a list of strings for the accelerator labels.

Definition at line 1973 of file Config.py.

Referenced by ProcessAcceleratorCUDA.ProcessAcceleratorCUDA.enabledLabels().

1973  def labels(self):
1974  """Override to return a list of strings for the accelerator labels."""
1975  return []

◆ type_()

def Config.ProcessAccelerator.type_ (   self)