1 / 7

GAUDI JobOptions

GAUDI JobOptions. GANGA Workshop, 20-22 April 2004 P. Mato / CERN. JobOptionsSvc sets the initial values to Algorithm/Service/Tool properties Runtime interaction is possible using the IProperty interface associated to each Algorithm/Service/Tool. Job Options Service. IService. IProperty.

Télécharger la présentation

GAUDI JobOptions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GAUDI JobOptions GANGA Workshop, 20-22 April 2004 P. Mato / CERN

  2. JobOptionsSvc sets the initial values to Algorithm/Service/Tool properties Runtime interaction is possible using the IProperty interface associated to each Algorithm/Service/Tool Job Options Service IService IProperty Obj1.PropA = valA; Obj2.PropB = valB; … Obj3.PropC = {..}; JobOptions Service IJobOptionsSvc IProperty Algorithm PropertyMgr MyAlg GANGA Project

  3. JobOption Categories • There are four kinds of “JobOptions” • To configure the “network” of services (experts) ApplicationMgr.ExtSvc EventPersistencySvc.CnvServices • To configure the “execution flow” (end-users) ApplicationMgr.TopAlg AlgSequencer.Members • To configure the “data flow” (end-users) EventSelector.Input • To configure properties of Services/Algorithms/Tools MyAlgorithm.EnergyCut GANGA Project

  4. Dumping Complete Set of Properties • All properties defined in the System associated to each class (static analysis) • Looking at the DLLs we can not see the property “instances” • We need to look at a running application (dynamic analysis) … DLL1 DLL3 DLL3 Alg Svc Tool Alg Svc Tool Alg Svc Tool Alg Svc Tool Alg Svc Tool Alg Svc Tool Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop GANGA Project

  5. Dumping the Complete Set of Properties • Starting point is LD_LIBRARY_PATH + XXXShr variables • A python script has been developed: • Load each available library • Find all available component “factories” • Instantiate an instance for each component (Service, Algorithm, Tool) • Get the lists of properties and their initial values (default values) • The current problems are: • Sometime instances of components can not be created in vacuum (dependencies to other components) • You can only find “once” the list of factories at library loading time GANGA Project

  6. Application Flow • The “real” flow can only known once the application is running • Based on some conventions we could “guess” the execution flow and data flow • Looking at AppMgr.TopAlg, Sequencer.Members, etc. • At this moment is “impossible” to guess the Tools used by Algorithms AppMgr Seq1 Seq1 Seq1 Alg Alg Alg Tools Tools Tools GANGA Project

  7. Adding new Conventions • Declaring Properties • Make explicit the “purpose” of the property (execution flow, data flow, etc.) • Declaring Tools to Algorithms • Declaring Tools in Algorithms (similarly as declaring Properties in the constructor) • Requires changes in Gaudi GANGA Project

More Related