Presentation is loading. Please wait.

Presentation is loading. Please wait.

Marian Ivanov, Anar Manafov

Similar presentations


Presentation on theme: "Marian Ivanov, Anar Manafov"— Presentation transcript:

1 Marian Ivanov, Anar Manafov
ROOT - Memory checker Marian Ivanov, Anar Manafov

2 Outlook Motivation Code availability Example – run the checker
Example – analysis of the memory checker output

3 Motivation (0) The check of the memory consumption very important for large project Several crisis in ALIROOT during the last years Standard tools (free software) Valgrind - memory consumption leaks at the end of process (e.g. aliroot) Massif – time profile of memory consumption Problems (Vagrind) Slow down factor ~ 50 ( few days for AliRoot simulation) Impossible to use for AliRoot project

4 Motivation (1) Root memory checker
Originally developed by MI Much faster - slow down factor ~ 2-3 But, Had problems with loading of libraries on demand (current root, aliroot strategy) Did not provide dynamic memory information Problems to port it on 64 bit platform

5 New memory checker All (previously mentioned)problems removed
Adding functionality for the visualization of the memory consumption as function of time (stamps) Possibility to select information by library, functions Sorting according different criterias (Current memory usage, Max, memory usage, maximal number of allocations..) Make reports for selected code Possibility to use as automatic test General remark Faster More functionality

6 Code availability Code availbale in Alisoft repository
Installation example (last release version) svn co cd v0-01 make source memstat_env.sh

7 Simple example See $MEMSTAT/test diretory root.exe .x test/run_test.C

8 TPC calibration example
Initialization – In root prompt or macro gSystem->Load("$ROOTSYS/lib/libGui.so"); gSystem->Load("$ROOTSYS/lib/libTree.so"); gSystem->Load("$MEMSTAT/libMemStat.so"); TMemStat memstat( , ,kTRUE); memstat->AddStamp("Start"); AliSysInfo::AddCallBack(TMemStatManager::GetInstance()->fStampCallBack); Code Create manager mgr->SetNSysInfo(100); mgr->StartAnalysis("local",chain); Output – memstat.root file to be visualized, analyzed

9 Simple example - Report with selected function

10 Simple example – Report full

11 Simple example - Draw draw->Draw()

12 Analysis example - Draw
draw->Draw()

13 GUI Work in progress - all features to be integrated


Download ppt "Marian Ivanov, Anar Manafov"

Similar presentations


Ads by Google