igprof profiler

e10 and e15 qualified versions of igprof are available.

1. Installation into your home directory. We first install UPS, to make a UPS database of your own; then we install igprof

$> cd $HOME
$> mkdir products
$> wget
$> tar xf ups-5.2.0-Linux64bit+2.6-2.12.tar.bz2
$> rm ups-5.2.0-Linux64bit+2.6-2.12.tar.bz2
$> wget
$> tar xf igprof-5.9.16b-slf6-x86_64-e15.tar.bz2
$> rm igprof-5.9.16b-slf6-x86_64-e15.tar.bz2

2. After you've set up your experiment software, then

$> export PRODUCTS:$HOME/products:$PRODUCTS
$> setup igprof v5_9_16b -q e15

3. To run igprof on your FHiCL file do

igprof -t lar -o igprof_lar.gz lar -c <your file>.fcl

Other useful options:
-mp : enable memory profiling
-pp : enable performance profiling
-d : add information about the workings of the profiler itself
-z : compress the profile statistics file using gzip.
4. To run analysis (igprof-analyse) with profiled data (igprof_lar.gz)
  • To produce the sqlite file for the web-navigable version of the report
    igprof-analyse --sqlite -d -v -g -r XMODE igprof_lar.gz | sqlite3 XMODE.sql3 
      • MEM_TOTAL: the total amount of memory allocated by any function - a snapshot of poor memory locality
      • MEM_LIVE: memory that has not been freed - snapshot of the heap, i.e. a heap profile.
      • MEM_MAX: the largest single allocation by any function
    • to navigate profiling reports on web, see instruction at
      and an example page at
5. Related links

For a more recent example, see