[polly] r240840 - Increase the dependence-analysis compute out

Tobias Grosser tobias at grosser.es
Sat Jun 27 06:20:12 PDT 2015


On 06/26/2015 11:58 PM, Tobias Grosser wrote:
> Author: grosser
> Date: Fri Jun 26 16:58:42 2015
> New Revision: 240840
>
> URL: http://llvm.org/viewvc/llvm-project?rev=240840&view=rev
> Log:
> Increase the dependence-analysis compute out
>
> As Polly got a lot faster after the small-integer-optimization imath
> patch, we now increase the compute out to optimize larger kernels. This
> should also expose additional slow-downs for us to address.
>
> In LNT this gives us a 3.4x speedup on 3mm, at a cost of a 2x increase in
> compile time (now 0.77s). reg_detect, oorafft and adi also show some compile
> time increases. This compile time cost is divided between more time in isl and
> more time in LLVM's backends due to increased code size (versioning and tiling).
>
> Modified:
>      polly/trunk/lib/Analysis/DependenceInfo.cpp
>
> Modified: polly/trunk/lib/Analysis/DependenceInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/DependenceInfo.cpp?rev=240840&r1=240839&r2=240840&view=diff
> ==============================================================================
> --- polly/trunk/lib/Analysis/DependenceInfo.cpp (original)
> +++ polly/trunk/lib/Analysis/DependenceInfo.cpp Fri Jun 26 16:58:42 2015
> @@ -45,7 +45,7 @@ static cl::opt<int> OptComputeOut(
>       "polly-dependences-computeout",
>       cl::desc("Bound the dependence analysis by a maximal amount of "
>                "computational steps (0 means no bound)"),
> -    cl::Hidden, cl::init(250000), cl::ZeroOrMore, cl::cat(PollyCategory));
> +    cl::Hidden, cl::init(410000), cl::ZeroOrMore, cl::cat(PollyCategory));
>
>   static cl::opt<bool> LegalityCheckDisabled(
>       "disable-polly-legality", cl::desc("Disable polly legality check"),

The performance results:

Polly Before vs. Polly After

http://llvm.org/perf/db_default/v4/nts/27941?num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=median&
MW_confidence_lv=0.05&compare_to=27929&submit=Update

clang -O3 vs Polly Before

http://llvm.org/perf/db_default/v4/nts/27929?num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=median&MW_confidence_lv=0.05&compare_to=27949&submit=Update

clang -O3 vs Polly After

http://llvm.org/perf/db_default/v4/nts/27941?num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=median&MW_confidence_lv=0.05&compare_to=27949&submit=Update

Mostly the 3mm kernel changed. We now take 0.77 seconds to compile this 
kernel (328% more than plain clang -O3), but get an execution time 
reduction of 81% (9s vs 81s before).

Best,
Tobias



More information about the llvm-commits mailing list