Re: [ROOT] It's faster to run root compiled by icc than gcc on Intel platforms

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Wed Feb 04 2004 - 11:40:22 MET


Hi  Exaos,

   I use already for several years icc as my default compiler. The 30%
(that I of course also see) is very significant and it is silly not to
use this compiler for any production. You basically gain one or two
generations of hardware at no cost.

You should put this mail on the G4 forum to encourage them to port G4 to
icc (which should not be much effort, icc v8 is very compatible with gcc
3).

Cheers, Fons.



On Tue, 2004-02-03 at 16:06, Exaos Lee wrote:
> Hi, All.
> I find that root will run faster if it is compiled by Intel C/C++ 
> Compiler on Intel platforms. As I tested, it can run 30% faster by icc 
> than by gcc on my PIV box.
> But unfortunately, I cannot compile geant4 by icc and geant4 cannot work 
> with root compiled by icc.
> 
> 
> ______________________________________________________________________
> 
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   4.00/01   22 January 2004   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> FreeType Engine v2.1.3 used to render TrueType fonts.
> Compiled for linux with thread support.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.117, Jan 4 2004
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> 
> Welcome to the ROOT tutorials
> 
> 
> Type ".x demos.C" to get a toolbar from which to execute the demos
> 
> Type ".x demoshelp.C" to see the help window
> 
> 
> Processing benchmarks.C...
> hsimple   : Real Time =   1.38 seconds Cpu Time =   0.79 seconds
> hsum      : Real Time =   0.90 seconds Cpu Time =   0.58 seconds
> 
> Object statistics
> class                         cnt    on heap     size    total size    heap size
> ================================================================================
> TObject                       110        110       12          1320         1320
> TList                          17         17       44           748          748
> THashList                       2          2       48            96           96
> TObjString                    321        321       20          6420         6420
> TPair                         321        321       20          6420         6420
> TOrdCollection                  6          6       44           264          264
> TClassTable                     1          1       12            12           12
> TPluginManager                  1          1       16            16           16
> TRandom                         1          1       32            32           32
> THashTable                      3          3       40           120          120
> TObjectTable                    1          1       24            24           24
> TEnv                            1          1       24            24           24
> TMap                            1          0       28            28            0
> TUnixSystem                     1          1      376           376          376
> TROOT                           1          0      308           308            0
> --------------------------------------------------------------------------------
> Total:                        788        786     1048         16208        15872
> ================================================================================
> 
> fillrandom: Real Time =   0.15 seconds Cpu Time =   0.06 seconds
> TFile**		fillrandom.root	
>  TFile*		fillrandom.root	
>   KEY: TFormula	form1;1	abs(sin(x)/x)
>   KEY: TF1	sqroot;1	x*gaus(0)+[3]*form1
>   KEY: TH1F	h1f;1	Test random numbers
>                sqroot : x*gaus(0)+[3]*form1 Ndim= 1, Npar= 4, Noper= 11
>  fExpr[0] = x  action = 144 action param = 0 
>  fExpr[1] = gaus(0)  action = 110 action param = 0 
>  fExpr[2] = *  action = 3 action param = 0 
>  fExpr[3] = [3]  action = 140 action param = 3 
>  fExpr[4] = x  action = 144 action param = 0 
>  fExpr[5] = sin  action = 11 action param = 0 
>  fExpr[6] = x  action = 144 action param = 0 
>  fExpr[7] = /  action = 4 action param = 0 
>  fExpr[8] = abs  action = 41 action param = 0 
>  fExpr[9] = *  action = 3 action param = 0 
>  fExpr[10] = +  action = 1 action param = 0 
>  Par  0                    p0 = 10
>  Par  1                    p1 = 4
>  Par  2                    p2 = 1
>  Par  3                    p3 = 20
> TH1.Print Name= Func, Entries= 100, Total sum= 1514.36
>  FCN=191.938 FROM MIGRAD    STATUS=CONVERGED     125 CALLS         126 TOTAL
>                      EDM=3.04297e-07    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   2.1 per cent
>   EXT PARAMETER                                   STEP         FIRST   
>   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
>    1  p0           3.29813e+01   5.33605e-01  -6.73622e-04   9.77958e-04
>    2  p1           3.98897e+00   1.76566e-02  -1.60737e-04   6.03749e-02
>    3  p2           1.00021e+00   1.31769e-02   5.11839e-05   3.08495e-02
>    4  p3           6.29888e+01   1.32324e+00   3.05003e-04   2.96136e-04
> fit1      : Real Time =   0.17 seconds Cpu Time =   0.08 seconds
> TFile**		hsimple.root	Demo ROOT file with histograms
>  TFile*		hsimple.root	Demo ROOT file with histograms
>   KEY: TH1F	hpx;1	This is the px distribution
>   KEY: TH2F	hpxpy;1	py vs px
>   KEY: TProfile	hprof;1	Profile of pz versus px
>   KEY: TNtuple	ntuple;1	Demo ntuple
>  i 0 0.000000 1.986693 
>  i 1 0.100000 2.955202 
>  i 2 0.200000 3.894183 
>  i 3 0.300000 4.794255 
>  i 4 0.400000 5.646425 
>  i 5 0.500000 6.442177 
>  i 6 0.600000 7.173561 
>  i 7 0.700000 7.833269 
>  i 8 0.800000 8.414710 
>  i 9 0.900000 8.912074 
>  i 10 1.000000 9.320391 
>  i 11 1.100000 9.635582 
>  i 12 1.200000 9.854497 
>  i 13 1.300000 9.974950 
>  i 14 1.400000 9.995736 
>  i 15 1.500000 9.916648 
>  i 16 1.600000 9.738476 
>  i 17 1.700000 9.463001 
>  i 18 1.800000 9.092974 
>  i 19 1.900000 8.632094 
> tornado   : Real Time =   0.10 seconds Cpu Time =   0.07 seconds
> na49      : Real Time =   1.49 seconds Cpu Time =   1.43 seconds
> geometry  : Real Time =   0.21 seconds Cpu Time =   0.21 seconds
> na49view  : Real Time =   0.13 seconds Cpu Time =   0.01 seconds
> na49view  : Real Time =   0.38 seconds Cpu Time =   0.08 seconds
>  FCN=20.7944 FROM MIGRAD    STATUS=CONVERGED      65 CALLS          66 TOTAL
>                      EDM=3.90725e-14    STRATEGY= 1      ERROR MATRIX ACCURATE 
>   EXT PARAMETER                                   STEP         FIRST   
>   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
>    1  p0           1.56416e+00   1.80510e-01   3.20780e-05  -1.93867e-05
>    2  p1           1.01361e-02   2.43967e-02   8.64192e-06  -7.37096e-05
>    3  p2           8.76773e-01   1.61451e-02   2.32044e-06  -2.69818e-04
> ntuple1   : Real Time =   0.59 seconds Cpu Time =   0.40 seconds
> ---------------ROOT 4.00/01 benchmarks summary--------------------
> hsimple   : Real Time =   1.38 seconds Cpu Time =   0.79 seconds
> hsum      : Real Time =   0.90 seconds Cpu Time =   0.58 seconds
> fillrandom: Real Time =   0.15 seconds Cpu Time =   0.06 seconds
> fit1      : Real Time =   0.17 seconds Cpu Time =   0.08 seconds
> tornado   : Real Time =   0.10 seconds Cpu Time =   0.07 seconds
> na49      : Real Time =   1.49 seconds Cpu Time =   1.43 seconds
> geometry  : Real Time =   0.21 seconds Cpu Time =   0.21 seconds
> na49view  : Real Time =   0.38 seconds Cpu Time =   0.08 seconds
> ntuple1   : Real Time =   0.59 seconds Cpu Time =   0.40 seconds
> TOTAL     : Real Time =   5.37 seconds Cpu Time =   3.70 seconds
> 
> ---------------ROOT 4.00/01 benchmarks summary (in ROOTMARKS)-----
>    For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
> hsimple     =  430.43 RealMARKS,  =  326.58 CpuMARKS
> hsum        =  660.00 RealMARKS,  =  248.28 CpuMARKS
> fillrandom  = 1920.00 RealMARKS,  =  400.00 CpuMARKS
> fit1        =  458.82 RealMARKS,  =  225.00 CpuMARKS
> tornado     =  660.00 RealMARKS,  =  257.14 CpuMARKS
> na49        =  559.73 RealMARKS,  =  583.22 CpuMARKS
> geometry    =  542.86 RealMARKS,  =  514.29 CpuMARKS
> na49view    =  521.05 RealMARKS,  =  375.00 CpuMARKS
> ntuple1     = 1820.34 RealMARKS,  =  420.00 CpuMARKS
> 
> ****************************************************
> * Your machine is estimated at  601.98 ROOTMARKS   *
> ****************************************************
> 
> This is the end of ROOT -- Goodbye
> 
> 
> ______________________________________________________________________
> 
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   4.00/01   22 January 2004   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> FreeType Engine v2.1.3 used to render TrueType fonts.
> Compiled for linux with thread support.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.117, Jan 4 2004
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> 
> Welcome to the ROOT tutorials
> 
> 
> Type ".x demos.C" to get a toolbar from which to execute the demos
> 
> Type ".x demoshelp.C" to see the help window
> 
> 
> Processing benchmarks.C...
> hsimple   : Real Time =   1.13 seconds Cpu Time =   0.63 seconds
> hsum      : Real Time =   0.78 seconds Cpu Time =   0.47 seconds
> 
> Object statistics
> class                         cnt    on heap     size    total size    heap size
> ================================================================================
> TObject                       110        110       12          1320         1320
> TList                          17         17       44           748          748
> THashList                       2          2       48            96           96
> TObjString                    320        320       20          6400         6400
> TPair                         320        320       20          6400         6400
> TOrdCollection                  6          6       44           264          264
> THashTable                      3          3       40           120          120
> TROOT                           1          0      308           308            0
> TClassTable                     1          1       12            12           12
> TObjectTable                    1          1       24            24           24
> TMap                            1          0       28            28            0
> TPluginManager                  1          1       16            16           16
> TRandom                         1          1       32            32           32
> TUnixSystem                     1          1      376           376          376
> TEnv                            1          1       24            24           24
> --------------------------------------------------------------------------------
> Total:                        786        784     1048         16168        15832
> ================================================================================
> 
> fillrandom: Real Time =   0.12 seconds Cpu Time =   0.04 seconds
> TFile**		fillrandom.root	
>  TFile*		fillrandom.root	
>   KEY: TFormula	form1;1	abs(sin(x)/x)
>   KEY: TF1	sqroot;1	x*gaus(0)+[3]*form1
>   KEY: TH1F	h1f;1	Test random numbers
>                sqroot : x*gaus(0)+[3]*form1 Ndim= 1, Npar= 4, Noper= 11
>  fExpr[0] = x  action = 144 action param = 0 
>  fExpr[1] = gaus(0)  action = 110 action param = 0 
>  fExpr[2] = *  action = 3 action param = 0 
>  fExpr[3] = [3]  action = 140 action param = 3 
>  fExpr[4] = x  action = 144 action param = 0 
>  fExpr[5] = sin  action = 11 action param = 0 
>  fExpr[6] = x  action = 144 action param = 0 
>  fExpr[7] = /  action = 4 action param = 0 
>  fExpr[8] = abs  action = 41 action param = 0 
>  fExpr[9] = *  action = 3 action param = 0 
>  fExpr[10] = +  action = 1 action param = 0 
>  Par  0                    p0 = 10
>  Par  1                    p1 = 4
>  Par  2                    p2 = 1
>  Par  3                    p3 = 20
> TH1.Print Name= Func, Entries= 100, Total sum= 1514.36
>  FCN=191.938 FROM MIGRAD    STATUS=CONVERGED     125 CALLS         126 TOTAL
>                      EDM=3.04297e-07    STRATEGY= 1  ERROR MATRIX UNCERTAINTY   2.1 per cent
>   EXT PARAMETER                                   STEP         FIRST   
>   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
>    1  p0           3.29813e+01   5.33605e-01  -6.73622e-04   9.77958e-04
>    2  p1           3.98897e+00   1.76566e-02  -1.60737e-04   6.03749e-02
>    3  p2           1.00021e+00   1.31769e-02   5.11839e-05   3.08495e-02
>    4  p3           6.29888e+01   1.32324e+00   3.05003e-04   2.96136e-04
> fit1      : Real Time =   0.14 seconds Cpu Time =   0.06 seconds
> TFile**		hsimple.root	Demo ROOT file with histograms
>  TFile*		hsimple.root	Demo ROOT file with histograms
>   KEY: TH1F	hpx;1	This is the px distribution
>   KEY: TH2F	hpxpy;1	py vs px
>   KEY: TProfile	hprof;1	Profile of pz versus px
>   KEY: TNtuple	ntuple;1	Demo ntuple
>  i 0 0.000000 1.986693 
>  i 1 0.100000 2.955202 
>  i 2 0.200000 3.894183 
>  i 3 0.300000 4.794255 
>  i 4 0.400000 5.646425 
>  i 5 0.500000 6.442177 
>  i 6 0.600000 7.173561 
>  i 7 0.700000 7.833269 
>  i 8 0.800000 8.414710 
>  i 9 0.900000 8.912074 
>  i 10 1.000000 9.320391 
>  i 11 1.100000 9.635582 
>  i 12 1.200000 9.854497 
>  i 13 1.300000 9.974950 
>  i 14 1.400000 9.995736 
>  i 15 1.500000 9.916648 
>  i 16 1.600000 9.738476 
>  i 17 1.700000 9.463001 
>  i 18 1.800000 9.092974 
>  i 19 1.900000 8.632094 
> tornado   : Real Time =   0.04 seconds Cpu Time =   0.03 seconds
> na49      : Real Time =   0.99 seconds Cpu Time =   0.99 seconds
> geometry  : Real Time =   0.18 seconds Cpu Time =   0.15 seconds
> na49view  : Real Time =   0.13 seconds Cpu Time =   0.02 seconds
> na49view  : Real Time =   0.37 seconds Cpu Time =   0.09 seconds
>  FCN=20.7944 FROM MIGRAD    STATUS=CONVERGED      65 CALLS          66 TOTAL
>                      EDM=5.40294e-14    STRATEGY= 1      ERROR MATRIX ACCURATE 
>   EXT PARAMETER                                   STEP         FIRST   
>   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
>    1  p0           1.56416e+00   1.80511e-01   3.20780e-05   2.30578e-05
>    2  p1           1.01361e-02   2.43968e-02   8.64192e-06   8.16881e-05
>    3  p2           8.76773e-01   1.61451e-02   2.32044e-06   3.17694e-04
> ntuple1   : Real Time =   0.46 seconds Cpu Time =   0.30 seconds
> ---------------ROOT 4.00/01 benchmarks summary--------------------
> hsimple   : Real Time =   1.13 seconds Cpu Time =   0.63 seconds
> hsum      : Real Time =   0.78 seconds Cpu Time =   0.47 seconds
> fillrandom: Real Time =   0.12 seconds Cpu Time =   0.04 seconds
> fit1      : Real Time =   0.14 seconds Cpu Time =   0.06 seconds
> tornado   : Real Time =   0.04 seconds Cpu Time =   0.03 seconds
> na49      : Real Time =   0.99 seconds Cpu Time =   0.99 seconds
> geometry  : Real Time =   0.18 seconds Cpu Time =   0.15 seconds
> na49view  : Real Time =   0.37 seconds Cpu Time =   0.09 seconds
> ntuple1   : Real Time =   0.46 seconds Cpu Time =   0.30 seconds
> TOTAL     : Real Time =   4.21 seconds Cpu Time =   2.76 seconds
> 
> ---------------ROOT 4.00/01 benchmarks summary (in ROOTMARKS)-----
>    For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
> hsimple     =  525.66 RealMARKS,  =  409.52 CpuMARKS
> hsum        =  761.54 RealMARKS,  =  306.38 CpuMARKS
> fillrandom  = 2400.00 RealMARKS,  =  600.00 CpuMARKS
> fit1        =  557.14 RealMARKS,  =  300.00 CpuMARKS
> tornado     = 1650.00 RealMARKS,  =  600.00 CpuMARKS
> na49        =  842.42 RealMARKS,  =  842.42 CpuMARKS
> geometry    =  633.33 RealMARKS,  =  720.00 CpuMARKS
> na49view    =  535.14 RealMARKS,  =  333.33 CpuMARKS
> ntuple1     = 2334.78 RealMARKS,  =  560.00 CpuMARKS
> 
> ****************************************************
> * Your machine is estimated at  783.36 ROOTMARKS   *
> ****************************************************
> 
> This is the end of ROOT -- Goodbye
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET