Software Optimization

Profiling

Documentation for profiling can be found herer: https://twiki.cern.ch/twiki/bin/view/LHCb/CodeAnalysisTools

Benchmarking

Information on HEPSPEC06

Running the DIRAC Benchmark

Use cases

In AFS

Scripts as representative as possible of the various LHCb computing phases are gathered in AFS in:

/afs/cern.ch/lhcb/group/profiling/UseCases/

In the bin directories the following files are present:

  • runTestReconstruction.sh
  • runTestSimulation.sh
  • runTestStripping.sh
The number of events to process can be passed as argument.


Local installation of Reconstruction

Copy the files:

/afs/cern.ch/lhcb/group/profiling/UseCases/Reconstruction/

To your target host.

Then define an env variable called MYSITEROOT, where the software will be installed (several gigs needed).

Doing the following will install the soft and setup the environment:

export MYSITEROOT=`pwd`
export CMTCONFIG=x86_64-slc5-gcc46-opt
sh install_Reco14.sh
. setenv_Reco14.sh

then you can run with:

sh run_Reco14.sh

Ben

Other test cases are possible, the following presentation shows how to run the HLT algorithms in Brunel for easier tests.

Source-code optimizations

Auto-Vectorization

Find here an instruction to use the compilers abillity to Source-Code Vectorization.

Analysis performed

Optimization ideas and results

Here is an (unordered) list of tracks/ideas that could be investigated to see if they can help improve the performance of the LHCb software,in term of both CPU and memory usage

  • Compiler autovectorization (gcc 4.7, icc)
  • Link Time optimization (usable as gcc 4.7)
  • C++ 11 (possibly removes some memory copies)
  • Use of Compiler intrisics to add CPU specific optimizations
  • CPU PMU counters analysis (especiallyLast Level Cache misses) and memory usage optimization
  • mx32 test
  • Test of zram (compressed memory) to limit memory usage
  • kvm usage

Tools

Code Analysis Tools

Using Markus's TES Tracer

Detailed Histogram Timing

Use of igprof

References

c.f. References

RunningMoore

-- BenjaminCouturier - 20-Jun-2012

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r14 - 2013-12-10 - StefanLohn
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback