Building the current release 2.7 branch on x86_64-apple-darwin10 with r81455 reverted, I get the following Polyhedron 2005 benchmark results (with no test failures)... ===============================================================================Date & Time : 7 Apr 2010 22:24:16 Test Name : llvm_gfortran_lin_p4 Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft Maximum Times : 2000.0 Target Error % : 0.100 Minimum Repeats : 10 Maximum Repeats : 100 Benchmark Compile Executable Ave Run Number Estim Name (secs) (bytes) (secs) Repeats Err % --------- ------- ---------- ------- ------- ------ ac 0.34 10000 12.85 10 0.0067 aermod 20.01 10000 15.42 10 0.0076 air 1.52 10000 7.50 12 0.0934 capacita 0.58 10000 45.67 10 0.0152 channel 0.41 10000 2.19 10 0.0365 doduc 2.29 10000 29.08 10 0.0140 fatigue 1.02 10000 8.83 10 0.0582 gas_dyn 0.77 10000 13.12 21 0.0909 induct 2.54 10000 24.22 10 0.0096 linpk 0.28 10000 15.67 10 0.0343 mdbx 0.79 10000 12.09 10 0.0070 nf 0.33 10000 30.10 12 0.0751 protein 1.10 10000 42.02 10 0.0100 rnflow 1.53 10000 32.00 10 0.0214 test_fpu 1.28 10000 11.73 10 0.0446 tfft 0.24 10000 2.16 13 0.0988 Geometric Mean Execution Time = 14.07 seconds =============================================================================== This compares to the last time I ran these for the release 2.5 branch... ===============================================================================Date & Time : 2 Feb 2009 23:57:03 Test Name : llvm_gfortran_lin_p4 Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft Maximum Times : 2000.0 Target Error % : 0.100 Minimum Repeats : 10 Maximum Repeats : 100 Benchmark Compile Executable Ave Run Number Estim Name (secs) (bytes) (secs) Repeats Err % --------- ------- ---------- ------- ------- ------ ac 0.28 10000 15.01 10 0.0805 aermod 16.03 10000 15.83 10 0.0772 air 1.62 10000 8.21 10 0.0472 capacita 0.47 10000 51.23 10 0.0261 channel 0.23 10000 3.32 10 0.0106 doduc 1.64 10000 34.17 10 0.0060 fatigue 0.70 10000 12.74 10 0.0572 gas_dyn 0.55 10000 16.07 10 0.0771 induct 1.75 10000 26.54 10 0.0017 linpk 0.22 10000 15.42 10 0.0205 mdbx 0.63 10000 14.13 12 0.0162 nf 0.26 10000 29.01 10 0.0909 protein 0.70 10000 44.89 10 0.0133 rnflow 1.09 10000 39.58 10 0.0212 test_fpu 0.89 10000 14.02 10 0.0132 tfft 0.17 10000 2.20 12 0.0149 Geometric Mean Execution Time = 16.15 seconds =============================================================================== In general, since the 2.5 release, the code performance is better but the compile time is somewhat regressed. Jack
Chris Lattner
2010-Apr-08 04:54 UTC
[LLVMdev] darwin llvm-gfortran Polyhedron 2005 results
On Apr 7, 2010, at 8:41 PM, Jack Howarth wrote:> Building the current release 2.7 branch on x86_64-apple-darwin10 > with r81455 reverted, I get the following Polyhedron 2005 benchmark > results (with no test failures)...Very nice! A 14% speedup on a benchmark we don't tune for isn't bad. I imagine that there are several easy wins you could get on it if you were interested in analyzing the performance. I don't think that anyone has done *any* llvm-gfortran perf work. -Chris> > ===============================================================================> Date & Time : 7 Apr 2010 22:24:16 > Test Name : llvm_gfortran_lin_p4 > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > Maximum Times : 2000.0 > Target Error % : 0.100 > Minimum Repeats : 10 > Maximum Repeats : 100 > > Benchmark Compile Executable Ave Run Number Estim > Name (secs) (bytes) (secs) Repeats Err % > --------- ------- ---------- ------- ------- ------ > ac 0.34 10000 12.85 10 0.0067 > aermod 20.01 10000 15.42 10 0.0076 > air 1.52 10000 7.50 12 0.0934 > capacita 0.58 10000 45.67 10 0.0152 > channel 0.41 10000 2.19 10 0.0365 > doduc 2.29 10000 29.08 10 0.0140 > fatigue 1.02 10000 8.83 10 0.0582 > gas_dyn 0.77 10000 13.12 21 0.0909 > induct 2.54 10000 24.22 10 0.0096 > linpk 0.28 10000 15.67 10 0.0343 > mdbx 0.79 10000 12.09 10 0.0070 > nf 0.33 10000 30.10 12 0.0751 > protein 1.10 10000 42.02 10 0.0100 > rnflow 1.53 10000 32.00 10 0.0214 > test_fpu 1.28 10000 11.73 10 0.0446 > tfft 0.24 10000 2.16 13 0.0988 > > Geometric Mean Execution Time = 14.07 seconds > > ===============================================================================> > This compares to the last time I ran these for the release 2.5 branch... > > ===============================================================================> Date & Time : 2 Feb 2009 23:57:03 > Test Name : llvm_gfortran_lin_p4 > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > Maximum Times : 2000.0 > Target Error % : 0.100 > Minimum Repeats : 10 > Maximum Repeats : 100 > > Benchmark Compile Executable Ave Run Number Estim > Name (secs) (bytes) (secs) Repeats Err % > --------- ------- ---------- ------- ------- ------ > ac 0.28 10000 15.01 10 0.0805 > aermod 16.03 10000 15.83 10 0.0772 > air 1.62 10000 8.21 10 0.0472 > capacita 0.47 10000 51.23 10 0.0261 > channel 0.23 10000 3.32 10 0.0106 > doduc 1.64 10000 34.17 10 0.0060 > fatigue 0.70 10000 12.74 10 0.0572 > gas_dyn 0.55 10000 16.07 10 0.0771 > induct 1.75 10000 26.54 10 0.0017 > linpk 0.22 10000 15.42 10 0.0205 > mdbx 0.63 10000 14.13 12 0.0162 > nf 0.26 10000 29.01 10 0.0909 > protein 0.70 10000 44.89 10 0.0133 > rnflow 1.09 10000 39.58 10 0.0212 > test_fpu 0.89 10000 14.02 10 0.0132 > tfft 0.17 10000 2.20 12 0.0149 > > Geometric Mean Execution Time = 16.15 seconds > > ===============================================================================> > In general, since the 2.5 release, the code performance is better > but the compile time is somewhat regressed. > Jack > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Wed, Apr 07, 2010 at 09:54:36PM -0700, Chris Lattner wrote:> > On Apr 7, 2010, at 8:41 PM, Jack Howarth wrote: > > > Building the current release 2.7 branch on x86_64-apple-darwin10 > > with r81455 reverted, I get the following Polyhedron 2005 benchmark > > results (with no test failures)... > > Very nice! A 14% speedup on a benchmark we don't tune for isn't bad. I imagine that there are several easy wins you could get on it if you were interested in analyzing the performance. I don't think that anyone has done *any* llvm-gfortran perf work. > > -Chris >Chris, Slightly off-topic, I've just added a fsf-gdb package to fink to provide darwin users with a gdb 7.1 release for i386-apple-darwin/x86_64-apple-darwin. This will help with debugging issues in gfortran since I believe gdb 6.8 had relatively poor support for certain areas of gfortran's code generation. Jack> > > > ===============================================================================> > Date & Time : 7 Apr 2010 22:24:16 > > Test Name : llvm_gfortran_lin_p4 > > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > > Maximum Times : 2000.0 > > Target Error % : 0.100 > > Minimum Repeats : 10 > > Maximum Repeats : 100 > > > > Benchmark Compile Executable Ave Run Number Estim > > Name (secs) (bytes) (secs) Repeats Err % > > --------- ------- ---------- ------- ------- ------ > > ac 0.34 10000 12.85 10 0.0067 > > aermod 20.01 10000 15.42 10 0.0076 > > air 1.52 10000 7.50 12 0.0934 > > capacita 0.58 10000 45.67 10 0.0152 > > channel 0.41 10000 2.19 10 0.0365 > > doduc 2.29 10000 29.08 10 0.0140 > > fatigue 1.02 10000 8.83 10 0.0582 > > gas_dyn 0.77 10000 13.12 21 0.0909 > > induct 2.54 10000 24.22 10 0.0096 > > linpk 0.28 10000 15.67 10 0.0343 > > mdbx 0.79 10000 12.09 10 0.0070 > > nf 0.33 10000 30.10 12 0.0751 > > protein 1.10 10000 42.02 10 0.0100 > > rnflow 1.53 10000 32.00 10 0.0214 > > test_fpu 1.28 10000 11.73 10 0.0446 > > tfft 0.24 10000 2.16 13 0.0988 > > > > Geometric Mean Execution Time = 14.07 seconds > > > > ===============================================================================> > > > This compares to the last time I ran these for the release 2.5 branch... > > > > ===============================================================================> > Date & Time : 2 Feb 2009 23:57:03 > > Test Name : llvm_gfortran_lin_p4 > > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > > Maximum Times : 2000.0 > > Target Error % : 0.100 > > Minimum Repeats : 10 > > Maximum Repeats : 100 > > > > Benchmark Compile Executable Ave Run Number Estim > > Name (secs) (bytes) (secs) Repeats Err % > > --------- ------- ---------- ------- ------- ------ > > ac 0.28 10000 15.01 10 0.0805 > > aermod 16.03 10000 15.83 10 0.0772 > > air 1.62 10000 8.21 10 0.0472 > > capacita 0.47 10000 51.23 10 0.0261 > > channel 0.23 10000 3.32 10 0.0106 > > doduc 1.64 10000 34.17 10 0.0060 > > fatigue 0.70 10000 12.74 10 0.0572 > > gas_dyn 0.55 10000 16.07 10 0.0771 > > induct 1.75 10000 26.54 10 0.0017 > > linpk 0.22 10000 15.42 10 0.0205 > > mdbx 0.63 10000 14.13 12 0.0162 > > nf 0.26 10000 29.01 10 0.0909 > > protein 0.70 10000 44.89 10 0.0133 > > rnflow 1.09 10000 39.58 10 0.0212 > > test_fpu 0.89 10000 14.02 10 0.0132 > > tfft 0.17 10000 2.20 12 0.0149 > > > > Geometric Mean Execution Time = 16.15 seconds > > > > ===============================================================================> > > > In general, since the 2.5 release, the code performance is better > > but the compile time is somewhat regressed. > > Jack > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Wed, Apr 07, 2010 at 09:54:36PM -0700, Chris Lattner wrote:> > On Apr 7, 2010, at 8:41 PM, Jack Howarth wrote: > > > Building the current release 2.7 branch on x86_64-apple-darwin10 > > with r81455 reverted, I get the following Polyhedron 2005 benchmark > > results (with no test failures)... > > Very nice! A 14% speedup on a benchmark we don't tune for isn't bad. I imagine that there are several easy wins you could get on it if you were interested in analyzing the performance. I don't think that anyone has done *any* llvm-gfortran perf work. > > -ChrisChris, How essential is r81455 to the llvm-gcc4.2-2.7 release? Can we regress it out for 2.7? I've tried all of the suggestions in... http://llvm.org/bugs/show_bug.cgi?id=6778 from Duncan for moving va_opt into darwin.c as an extern. While this works at first glance, it destablizes the parallel make. Regressing r81455 doesn't appear to cause any problems. Jack> > > > > ===============================================================================> > Date & Time : 7 Apr 2010 22:24:16 > > Test Name : llvm_gfortran_lin_p4 > > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > > Maximum Times : 2000.0 > > Target Error % : 0.100 > > Minimum Repeats : 10 > > Maximum Repeats : 100 > > > > Benchmark Compile Executable Ave Run Number Estim > > Name (secs) (bytes) (secs) Repeats Err % > > --------- ------- ---------- ------- ------- ------ > > ac 0.34 10000 12.85 10 0.0067 > > aermod 20.01 10000 15.42 10 0.0076 > > air 1.52 10000 7.50 12 0.0934 > > capacita 0.58 10000 45.67 10 0.0152 > > channel 0.41 10000 2.19 10 0.0365 > > doduc 2.29 10000 29.08 10 0.0140 > > fatigue 1.02 10000 8.83 10 0.0582 > > gas_dyn 0.77 10000 13.12 21 0.0909 > > induct 2.54 10000 24.22 10 0.0096 > > linpk 0.28 10000 15.67 10 0.0343 > > mdbx 0.79 10000 12.09 10 0.0070 > > nf 0.33 10000 30.10 12 0.0751 > > protein 1.10 10000 42.02 10 0.0100 > > rnflow 1.53 10000 32.00 10 0.0214 > > test_fpu 1.28 10000 11.73 10 0.0446 > > tfft 0.24 10000 2.16 13 0.0988 > > > > Geometric Mean Execution Time = 14.07 seconds > > > > ===============================================================================> > > > This compares to the last time I ran these for the release 2.5 branch... > > > > ===============================================================================> > Date & Time : 2 Feb 2009 23:57:03 > > Test Name : llvm_gfortran_lin_p4 > > Compile Command : llvm-gfortran -ffast-math -funroll-loops -msse3 -O3 %n.f90 -o %n > > Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft > > Maximum Times : 2000.0 > > Target Error % : 0.100 > > Minimum Repeats : 10 > > Maximum Repeats : 100 > > > > Benchmark Compile Executable Ave Run Number Estim > > Name (secs) (bytes) (secs) Repeats Err % > > --------- ------- ---------- ------- ------- ------ > > ac 0.28 10000 15.01 10 0.0805 > > aermod 16.03 10000 15.83 10 0.0772 > > air 1.62 10000 8.21 10 0.0472 > > capacita 0.47 10000 51.23 10 0.0261 > > channel 0.23 10000 3.32 10 0.0106 > > doduc 1.64 10000 34.17 10 0.0060 > > fatigue 0.70 10000 12.74 10 0.0572 > > gas_dyn 0.55 10000 16.07 10 0.0771 > > induct 1.75 10000 26.54 10 0.0017 > > linpk 0.22 10000 15.42 10 0.0205 > > mdbx 0.63 10000 14.13 12 0.0162 > > nf 0.26 10000 29.01 10 0.0909 > > protein 0.70 10000 44.89 10 0.0133 > > rnflow 1.09 10000 39.58 10 0.0212 > > test_fpu 0.89 10000 14.02 10 0.0132 > > tfft 0.17 10000 2.20 12 0.0149 > > > > Geometric Mean Execution Time = 16.15 seconds > > > > ===============================================================================> > > > In general, since the 2.5 release, the code performance is better > > but the compile time is somewhat regressed. > > Jack > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev