![]() |
The Gaudi Framework
v27r0
|
Package: GaudiMP Package manager : Sebastien Binet Commit Id: ce1274ce7ddd2188f6c1f62d6323d6dd041cc85f ================================ GaudiMP v3r4 ================================ ! 2015-11-02 - commit 57f356c - Merge branch 'hive' into 'master' Fixes GAUDI-978. See merge request !65 ================================ GaudiMP v3r3 ================================ ! 2015-10-08 - commit c50c176 - improvements to documentation and release tools See merge request !43 ! 2015-10-06 - commit 0b7a459 - Merge branch 'GAUDI-1093' into 'master' avoid (deprecated) Python module `commands` fixes GAUDI-1093 See merge request !38 ! 2015-09-25 - commit 35dd00c - Merge branch 'dev-smartif-use' into 'master' Provide (and use) C++11 smart pointer 'look and feel' for SmartIF The aim of this branch is to confine, for everything that inherits from IInterface, the calls to addRef(), release() and queryInterface() to the SmartIF implementation. Exceptions are a few places where interfaces (currently) return bare pointers (instead of SmartIF...) and where one thus has to addRef() explicitly to avoid returning a dangling pointer. This can be avoided by changing the relevant interface to return a SmartIF instead of a bare pointer. In addition, make SmartIF 'look and feel' like a smart pointer. - use explict bool conversion instead of .isValid() - add SmartIF::as(), to return a SmartIF to an alternate interface -- which (together with move) encourages the use of auto - add ISvcLocator::as (), to return a SmartIF to the current ISvcLocator. - add ServiceManager::service () which return SmartIF which encourages the use of auto And add a few other C++11 modernizations (eg. prefer STL over raw loop) Fixes GAUDI-1094 See merge request !24 ! 2015-09-11 - commit c062cbe - C++11 modernization changes Some trivial - and some not so trivial! - changes which take advantage of C++11... See merge request !7 ================================ GaudiMP v3r2 ================================ ! 2014-05-27 - Marco Clemencic - Minor fix to CMake configuration (CMT equivalence). ================================ GaudiMP v3r1 ================================ ! 2014-03-18 - Ben Couturier - Fixed bug #104127: remove hwaf configuration. ================================ GaudiMP v3r0 ================================ ! 2013-12-11 - Sebastien Binet - Added hwaf configuration files. ! 2013-07-23 - Marco Clemencic - Modified IoComponentMgr::initialize to print the Python error in case of failure when importing 'GaudiMP.IoRegistry'. ! 2013-07-19 - Marco Clemencic - Clean up in the use of the new PluginService. ! 2013-07-18 - Marco Clemencic - Removed use of obsolete AlgFactory.h, SvcFactory.h, ToolFactory.h, AudFactory.h and CnvFactory.h. ! 2013-07-17 - Marco Clemencic - Removed factories forward declarations. ! 2013-07-03 - Marco Clemencic - Removed explicit link against Reflex from cmt/requirements. ================================ GaudiMP v2r1 ================================ ================================ GaudiMP-02-00-01 ============================ ! 2013-10-10 - Charles Leggett - implementation io_finalize() in IoComponentMgr.cpp M src/component/IoComponentMgr.cpp ================================ GaudiMP-02-00-00 ============================ ! 2013-08-30 - Charles Leggett - retag for Atlas merge ================================ GaudiMP-01-07-01 ============================ ! 2013-03-06 - Charles Leggett - merge with GaudiMP-01-01-12 - updated IoComponentMgr - added various Boost link libraries to GaudiMP_linkopts M cmt/requirements M src/component/IoComponentMgr.cpp M src/component/IoComponentMgr.h ================================ GaudiMP v1r8 ================================ ! 2013-09-04 - Marco Clemencic - Modified RecordOutputStream to allow an implicit value for OutputStreamName: "Deferred:" + name. This is needed to enforce deferred write using algorithm type aliasing. ! 2013-08-30 - Marco Clemencic - Task #47619: Defer calls to OutputStreams in GaudiMP Added a class to record which streams should be triggered and a class to use the recorded informations to trigger the OutputStream instances: RecordOutputStream and ReplayOutputStream. To use the delayed write, one need to translate options like: mySeq.members.append(OutputStream('MyStream')) with something like: mySeq.members.append(RecordOutputStream('RecordMyStream', OutputStreamName='MyStream')) ApplicationMgr().OutputStream.append( ReplayOutputStream(OutputStreams=[OutputStream('MyStream')]) ) ================================ GaudiMP v1r7 ================================ ! 2013-01-15 - Nathalie Rauschmayr - Patch #5593: Implemented late forking for GaudiMP Implemented late forking on the level of the worker processes. After Application Manager has been initialized and before the first event has been processed, subworkers are forked by the main worker. ================================ GaudiMP v1r6 ================================ ! 2012-11-14 - Marco Clemencic - Updated CMakeLists.txt. ================================ GaudiMP v1r5 ================================ ! 2012-09-13 - Marco Clemencic - Fixed compilation warnings. ! 2012-07-27 - Marco Clemencic - Rationalized the permissions of files in the repository. ! 2012-07-25 - Nathalie Rauschmayr - Patch #5471: fixes to be able to run LHCb applications via GaudiParallel. - For Gauss: - GMPBase.py: - DoFirstEvent(): Call GetHistoNames instead of GetList (nearly the same except of the line "rootFID = node.address().par()") - GMPComponent.__init__(): Distinguish the applications - GetEventNumber(): In Gauss, EventNumber must be given by the Reader due to correctly set the random seeds - Initialize() of worker: Interface to EventCounter in order to modify the counters from outside - Engine() of worker: Set EventCounter which is given by the reader - General: - GMPBase.py: - Go(): SUCCESS/FAILURE is not a bool --> if-statement did not work - Terminate(): Termination won't work when one of the processes already died. Check existing processes - Engine() of writer: runTime of writer was not correct as it was overwritten every time - DoFirstEvent(): Register links in TransientEventStore (DAQ/RawEvent) - WAIT_SINGLE_EVENT = 60*6: In certain situations it happened that the waiting time for the finalization was too short - Engine() of worker: ItemList and optItemList have been modified. Double entries caused a memory leak - TESSerializer.cpp: - loadBuffer(): Find objects, which are not equal to /Event in TES, and read out the buffers - pTools.py: - ProcessTimeSpanFSR(): Time Span in FileRecords are not generated correctly (no merging). Instead of writing n times TimeSpanFSR, only the minimum and maximum is written - syncAllRolling(): In Gauss it happened often that the Reader is too fast and could not synchronize with the workers in the end. As the synchronization object is not reset the Reader waits for a long time until it calls processHang() and kills every process. Modifying the if-statement allows to reset the waiting time of the Reader - compareOutputFiles.py: - Sets-module is deprecated - Added functions for the comparison of FileRecords (CompareFSR(), GetFSRdict(), CheckFileRecords()) ================================ GaudiMP v1r4 ================================ ! 2012-06-08 - Marco Clemencic - Added CMake configuration files. ================================ GaudiMP v1r3 ================================ ! 2012-01-18 - Wim Lavrijsen - address failures due to missing temp files M python/GaudiMP/FdsRegistry.py ================================ GaudiMP v1r2 ================================ ! 2011-07-18 - Charles Leggett - Patch #4941: bring up to date with GaudiMP-01-01-04 - check StatusCode of Service::initialize M src/Lib/IoComponentMgr.cpp - check for python initialization, add IoRegistry.py and FdsRegistry.py modules A python/GaudiMP/IoRegistry.py A python/GaudiMP/FdsRegistry.py M cmt/requirements M src/Lib/IoComponentMgr.cpp - made GaudiMP a component library too, added some debug output to IoComponentMgr M cmt/requirements M GaudiMP/IoComponentMgr.h M src/Lib/IoComponentMgr.cpp - Add IIoComponentMgr M cmt/requirements A GaudiMP/IoComponentMgr.h A src/Lib/IoComponentMgr.cpp ! 2011-06-23 - Hubert Degaudenzi - fixed warnings from the eclipse code analysis engine. ================================ GaudiMP v1r1 ================================ ! 2011-04-04 - Pere Mato - Fixes to work with LHCb Brunel 1) Namespace changed from GaudiPython to GaudiMP for TESSerializer class 2) Firing "EndEvent" incidents in Worker event loop. This was needed to eliminate crashes in Brunel when invalid pointer to collection of cluster was used in fitting algorithms. 3) Call update() method after having de-serialize a KeyedContainer<>. This is needed to re-build the internal direct access container. ============================== GaudiMP v1r0 ================================== ! 2011-01-11 - Marco Clemencic - Fixed some ICC remarks. ! 2010-12-17 - Eoin Smith - Updated TESSerializer.h/cpp, python/GaudiPython for Multicore Execution TESSerializer class can now serialize/reconstruct Opaque Addresses using the GaudiKernel IOpaqueAddress interface. TESSerializer now uses a map as member variable for TClass names, to improve performance (initialize once, refer back on each event iteration) Multicore components collected in GMPBase.py ; the Reader, Worker and Writer. pTools.py contains extra classes; HistoAgent, FileRecordsAgent for communication and consolidation of Histo and Records stores. pTools also contains some extra methods used by the Reader, Writer, Workers. ! 2010-12-16 - Sebastien Binet - Patch #4074: migrate GaudiPython.Parallel to multiprocessing First import