[LLVMdev] [FastPolly]: Update of Polly's performance on LLVM test-suite

Star Tan tanmx_star at yeah.net
Sat Aug 10 18:59:15 PDT 2013


Hi all,

I have evaluated Polly's performance on LLVM test-suite with latest LLVM (r188054) and Polly (r187981).  Results can be viewed on: http://188.40.87.11:8000.

There are mainly five new tests and each test is run with 10 samples:
clang (run id = 27):  clang -O3
pollyBasic (run id = 28):  clang -O3 -load LLVMPolly.so
pollyNoGen (run id = 29):  pollycc -O3 -mllvm -polly-optimizer=none -mllvm -polly-code-generator=none
pollyNoOpt (run id = 30):  pollycc -O3 -mllvm -polly-optimizer=none
pollyOpt (run id = 31):  pollycc -O3

Here is the performance comparison for the newest Polly:
    http://188.40.87.11:8000/db_default/v4/nts/31?compare_to=18&baseline=18

Overall, there are 198 benchmarks improved and 16 benchmarks regressed. Especially, with those recent performance-oriented patch files for ScopDetect/ScopInfo/ScopDependences/..., we have significantly reduced the compile-time overhead of Polly for a large number of benchmarks, such as:
    SingleSource/Benchmarks/Misc/salsa20        -97.84%
    SingleSource/Benchmarks/Polybench/linear-algebra/solvers/lu/lu        -85.01%	
    MultiSource/Applications/obsequi/Obsequi        -57.12%
    SingleSource/Benchmarks/Polybench/stencils/seidel-2d/seidel-2d        -50.00%
    MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm        -40.09%
    MultiSource/Benchmarks/mediabench/gsm/toast/toast       -39.91%
    SingleSource/Benchmarks/Misc/whetstone       -39.02%
    MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg       -38.07%
    MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg       -37.70%

However, Polly can still lead to significant compile-time overhead for many benchmarks.
As shown on:
    http://188.40.87.11:8000/db_default/v4/nts/31?compare_to=28&baseline=28
there are 11 benchmarks whose compile time are more than 2x than clang.  Furthermore, it seems that PollyDependence pass is still one of most expensive passes in Polly.

Even without optimization and code generation, Polly also increases the compile time for some benchmarks.
As shown on:
    http://188.40.87.11:8000/db_default/v4/nts/29?compare_to=28&baseline=28
there are 10 benchmarks that require more than 10% extra compile-time overhead compared with clang.

Recently, I will still focus on improving some expensive Polly passes such as PollyDependence.

Cheers,
Star Tan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130811/a59da022/attachment.html>


More information about the llvm-dev mailing list