[polly] r245300 - Use schedule trees to compute dependences

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 14:46:54 PDT 2015


On 08/18/2015 05:05 PM, Tobias Grosser via llvm-commits wrote:
> Author: grosser
> Date: Tue Aug 18 10:05:29 2015
> New Revision: 245300
>
> URL: http://llvm.org/viewvc/llvm-project?rev=245300&view=rev
> Log:
> Use schedule trees to compute dependences
>
> This patch changes Polly to compute the data-dependences on the schedule tree
> instead of a flat schedule representation. Calculating dependences directly on
> the schedule tree results in some good compile-time improvements (adi : -23.35%,
> 3mm : -9.57%), as the structure of the schedule can be exploited for increased
> efficiency.
>
> Earlier experiments with schedule tree based dependence analysis in Polly showed
> some compile-time regressions. These regressions arose due to the schedule tree
> based dependence analysis not taking into account the domain constraints of the
> schedule tree. As a result, the computed dependences were different and this
> difference caused in some cases the schedule optimizer to take a very long time.
> Since isl version fe865996 the schedule tree based dependence analysis takes
> domain constraints into account, which fixes the earlier compile-time issues.
>
> Contributed-by: Pratik Bhatu <cs12b1010 at iith.ac.in>

This patch shows _large_ compile time improvements for a large NAS kernel that
contains 19 loops nested up to four levels. Originally dependence analysis took
an embarrassing 3-4 hours. With this patch applied, the dependence analysis time
has been reduced to around 5 seconds.

This patch resulted also in a compile time reduction of 8-21% for three test cases
in LNT:

http://llvm.org/perf/db_default/v4/nts/36946?num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=median&MW_confidence_lv=0.01&compare_to=36925&submit=Update

Polybench/stencils/adi/adi 	                -21.32% 	0.7981 	0.6200
Polybench/datamining/correlation/correlation 	-10.55% 	0.4420 	0.3900
Polybench/linear-algebra/kernels/3mm/3mm        - 8.51% 	0.7620 	0.6880


Best,
Tobias


More information about the llvm-commits mailing list