[LLVMdev] Polyhedron 2005 results for dragonegg 3.3svn
Jack Howarth
howarth at bromo.med.uc.edu
Thu May 23 06:53:44 PDT 2013
On Thu, May 23, 2013 at 03:40:00PM +0200, Duncan Sands wrote:
> Hi Jack,
>
> On 23/05/13 15:37, Jack Howarth wrote:
>> Below are the results for the Polyhedron 2005 benchmarks compiled with llvm/compiler-rt/dragonegg 3.3svn at r182439 against current
>> FSF gcc 4.7.3svn and 4.8.1svn. The only major bug remaining in the dragonegg 3.3svn support for gcc 4.8.x is http://llvm.org/bugs/show_bug.cgi?id=15980
>> which results in unresolved symbols for _iround and _iroundf in the aermod and rnflow testcases. Note that this skews the geometric mean
>> of the run time to much higher values.
>
> I also didn't hook up LLVM's new fast-math optimizations yet, which I expect to
> make a big difference.
Duncan,
Is current dragonegg 3.3svn configured to enable llvm vectorization like clang or do we still have to
manually pass those flags with -fplugin-arg-dragonegg-llvm-option? Also can the new fast-math optimizations
be manually enabled in dragonegg via flags to -fplugin-arg-dragonegg-llvm-option as well?
Jack
>
> Ciao, Duncan.
>
>> Jack
>>
>> Tested on x86_apple-darwin12
>>
>> Compile Flags: -ffast-math -funroll-loops -O3
>>
>> de-gfortran47: /sw/lib/gcc4.7/bin/gfortran -fplugin=/sw/lib/gcc4.7/lib/dragonegg.so -specs=/sw/lib/gcc4.7/lib/integrated-as.specs
>> de-gfortran48: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integrated-as.specs
>> de-gfortran47+optzns: /sw/lib/gcc4.7/bin/gfortran -fplugin=/sw/lib/gcc4.7/lib/dragonegg.so -specs=/sw/lib/gcc4.7/lib/integrated-as.specs -fplugin-arg-dragonegg-enable-gcc-optzns
>> de-gfortran48+optzns: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integrated-as.specs -fplugin-arg-dragonegg-enable-gcc-optzns
>> gfortran47: /sw/bin/gfortran-fsf-4.7
>> gfortran48: /sw/bin/gfortran-fsf-4.8
>>
>>
>> Run time (secs)
>>
>> Benchmark de-gfortran47 de-gfortran48 de-gfortran47+optzns de-gfortran48+optzns gfortran47 gfortran48
>> ac 11.39 11.39 8.09 8.14 8.18 8.05
>> aermod 16.35 -1.00 14.50 -1.00 16.45 16.23
>> air 6.88 6.79 5.42 5.25 5.83 5.73
>> capacita 39.85 39.85 34.71 33.39 32.51 33.02
>> channel 2.05 2.03 2.15 1.98 1.83 1.83
>> doduc 27.10 27.24 26.75 26.36 25.91 25.76
>> fatigue 8.85 8.88 7.72 5.56 8.26 5.60
>> gas_dyn 11.76 11.45 4.51 4.20 3.88 3.59
>> induct 24.01 24.00 11.86 11.85 12.08 12.21
>> linpk 15.43 15.44 15.40 15.77 15.37 15.64
>> mdbx 11.92 11.92 11.30 11.28 11.18 11.42
>> nf 29.57 29.82 29.50 29.46 27.21 27.25
>> protein 36.15 35.10 35.93 34.13 31.88 31.81
>> rnflow 27.02 -1.00 26.77 -1.00 24.67 21.21
>> test_fpu 11.49 11.34 9.11 9.30 7.90 8.01
>> tfft 1.92 1.92 1.92 1.90 1.86 1.90
>>
>> Geom. Mean 13.19 21.26 10.99 17.31 10.60 10.22
>>
>> Compile time (secs)
>>
>> Benchmark de-gfortran47 de-gfortran48 de-gfortran47+optzns de-gfortran48+optzns gfortran47 gfortran48
>> ac 0.62 0.31 2.20 1.38 2.88 2.08
>> aermod 35.19 35.52 43.50 42.89 42.75 55.97
>> air 1.16 1.17 2.72 2.36 4.48 4.28
>> capacita 0.52 0.55 1.02 0.99 1.90 1.89
>> channel 0.26 0.26 0.47 0.47 0.65 0.75
>> doduc 1.74 1.76 3.78 3.54 6.03 5.68
>> fatigue 0.91 0.91 1.33 1.49 1.97 2.04
>> gas_dyn 0.70 0.69 1.40 1.38 3.39 2.44
>> induct 1.95 1.73 2.87 2.98 4.08 4.42
>> linpk 0.25 0.24 0.53 0.71 0.92 1.25
>> mdbx 0.66 0.67 1.30 1.14 2.16 1.90
>> nf 0.39 0.39 0.80 0.74 2.12 1.67
>> protein 1.12 1.11 2.01 1.77 4.39 3.62
>> rnflow 1.26 1.26 2.93 2.74 6.43 5.47
>> test_fpu 0.91 0.91 2.27 2.22 5.28 4.26
>> tfft 0.22 0.21 0.39 0.44 0.59 0.78
>>
>> Executable (bytes)
>>
>> Benchmark de-gfortran47 de-gfortran48 de-gfortran47+optzns de-gfortran48+optzns gfortran47 gfortran48
>> ac 26776 26792 47160 34928 59120 42784
>> aermod 1023024 0 1052728 0 1392840 1286136
>> air 61940 61948 65964 61876 110768 106680
>> capacita 41344 41144 45440 45040 77920 73248
>> channel 22736 22744 26696 22552 34704 34656
>> doduc 128376 128384 140580 136296 205320 189040
>> fatigue 65648 65640 69808 73848 90240 82040
>> gas_dyn 54840 54936 63144 71304 123680 99184
>> induct 163064 158792 163192 166920 179080 170872
>> linpk 18680 18688 22896 34920 42640 50936
>> mdbx 49492 49508 57692 53604 90232 78032
>> nf 23880 23888 32088 32104 84072 67744
>> protein 74960 75048 87144 83128 131976 115688
>> rnflow 67704 0 88248 0 205584 176912
>> test_fpu 50000 50008 70440 78456 179464 142608
>> tfft 18568 18576 18416 22544 30680 34832
>>
>>
More information about the llvm-dev
mailing list