TWiki> LHCb Web>LHCbComputing>SoftwareOptimization (revision 13)EditAttachPDF

Software Optimization


Documentation for profiling can be found herer:


Information on HEPSPEC06

Running the DIRAC Benchmark

Use cases


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


In the bin directories the following files are present:

The number of events to process can be passed as argument.

Local installation of Reconstruction

Copy the files:


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

then you can run with:



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

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

Analysis performed


Code Analysis Tools

Using Markus's TES Tracer

Detailed Histogram Timing

Use of igprof


c.f. References


-- BenjaminCouturier - 20-Jun-2012

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r13 - 2013-02-01 - 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-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback