This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Partition and subpartition Analysis that helps in further vectorization and parallelization


On Tue, Jul 14, 2015 at 1:33 PM, Ajit Kumar Agarwal
<ajit.kumar.agarwal@xilinx.com> wrote:
> All:
>
> I am trying the place the following Analysis in the vectorizer of GCC that helps in improving the vectorizer to a great extent
> For the unit stride, zero stride and non stride accesses of memory that helps in vectorizer.
>
> For the Data Dependency graph, the topological sort is performed. The topological sorted Data Dependence graph the time
> Stamp for each node of the DDG is assigned based on the following Algorithm.
>
> For each node in Topological sorted order in DDG
> {
>
>     Timestamp = 0;
>     Timestamp(node) = Max(Timestamp, Timestamp of all predecessors) + 1;
>
> }
>
> Based on the above calculation of timestamp, the partition of DDG is formed. Each partition of DDG is having the nodes with the same
> Stamp. So nodes in each partition can be vectorized as they are independent nodes in the DDG. To enable the vectorization, the accesses
>  based on contiguous access and non-Contagious access the sub partition is formed. The memory address of all the operands of each node
> in the partition formed above is sorted in increasing/decreasing order. Based on the sorted increasing/decreasing order of the memory
> address of each operands of each node in the partition the sub partition is performed based on the unit stride access, zero stride access
> and the accesses that require shuffling of operands through the vectorized instruction.
>
> The above analysis will help in performing Data Layout on the partitioned nodes of the DDG and  based on Sub partition formed above and
> more vectorization opportunities is enabled for performing data Layout on non contiguous accesses and  the sub partition With the contiguous
> access helps in vectorization.
>
> Thoughts?

As mentioned for the other DDG related idea we already have loop distribution.
It is not enabled by default because it lacks a good cost model.  It's current
cost-model looks after data locality/reuse only.  Adding a cost
modeling targeting
vectorization sounds interesting.

Richard.

> Thanks & Regards
> Ajit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]