Comparison of different compilers/options CPU performance.

 
CPU
Results of measurment cpu per event for different compilers :

  1. gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) is default compiler for Scientific Linux release 7.3 (Nitrogen)
  2. gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) devtoolset-4
  3. gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3) devtoolset-6
  4. gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) devtoolset-7
  5. gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) devtoolset-8
  6. gcc (GCC) 9.1.1 20190605 (Red Hat 9.1.1-2) devtoolset-9
  7. gcc (GCC) 6.3.0 /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.3.0/x86_64-centos7-gcc63-opt/bin/gcc
  8. gcc (GCC) 10.1.0 /cvmfs/sft.cern.ch/lcg/releases/gcc/10.1.0-6f386/x86_64-centos7/bin/gcc

Processed 973 events from 2019AuAu200 on HLT machine l409.l4.bnl.local (xeon-phi-dev.starp.bnl.gov) in parallel for all compilers/options on 08/15/2020 in .DEV2 with chain:

root.exe -q -b bfc.C(2000,"P2019a,mtd,btof,BEmcChkStat,CorrY,OSpaceZ2,OGridLeakFull,evout,NoHistos,noTags,noRunco,StiCA,picoWrite,PicoVtxVpdOrDefault","/hlt/cephfs/daq/2019B/192/20192001/hlt_20192001_11_01_000.daq")'

 

  • with 32 and 64 bits option (-m32 and -m64 == x8664)
  • with debug (-g) and optimized (-O) versions of libraries
  1. CPU per event versus compiler, option 
  2. Ratios to gcc631_64b_opt 
  3. The same Ratios for optimized version 

Conclusions:

  1. There is no significant difference in efficiencies and track parameters for difference compilers/options (see https://www.star.bnl.gov/~fisyak/star/TbyT/gcc_AuAu200_2019B/)/
  2. Difference between debug and optimized version is ~2.5 in CPU.
  3. There is ~25% difference between 32 and 64 bits optimized versions.
  4. The difference in cpu performance for 64 bits optimized version of gcc compiler is in within 3%