Roman Gareev via llvm-dev
2016-Jun-21 07:34 UTC
[llvm-dev] [GSoC 2016] Improvement of vectorization process in Polly - Mid term report
Dear LLVM contributors, Over the last weeks, I have been working on implementation of tilings and interchangings of specific loops based on the algorithm used to optimize matrix multiplication and described in "Analytical Modeling is Enough for High Performance BLIS" [1]. It corresponds to the original timeline. We outlined the following steps: 1. Determination of statements that contain matrix multiplication (a corresponding patch [2] is accepted) 2. Creation of a micro-kernel (a corresponding patch [3] is accepted) 3. Creation of a macro-kernel (a corresponding patch [4] is under review) For further details, please see my blog post http://romangareev.blogspot.ru/2016/06/gsoc-2016-report-i.html During the vacation stated in the timeline, I will work on completion of the step 3. The next steps are implementation of the packing transformation and implementation of a determination of vectorization factors and profitability of vectorization based on the LLVM vectorization cost model. Refs.: [1] - http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf [2] - http://reviews.llvm.org/D21140 [3] - http://reviews.llvm.org/D21491 [4] - http://reviews.llvm.org/D20575 -- Cheers, Roman Gareev.
Tobias Grosser via llvm-dev
2016-Jun-22 17:13 UTC
[llvm-dev] [GSoC 2016] Improvement of vectorization process in Polly - Mid term report
On 06/21/2016 09:34 AM, Roman Gareev wrote:> Dear LLVM contributors, > > Over the last weeks, I have been working on implementation of tilings > and interchangings of specific loops based on the algorithm used to > optimize matrix multiplication and described in "Analytical Modeling > is Enough for High Performance BLIS" [1]. It corresponds to the > original timeline. > > We outlined the following steps: > > 1. Determination of statements that contain matrix multiplication (a > corresponding patch [2] is accepted) > > 2. Creation of a micro-kernel (a corresponding patch [3] is accepted) > > 3. Creation of a macro-kernel (a corresponding patch [4] is under review) > > For further details, please see my blog post > http://romangareev.blogspot.ru/2016/06/gsoc-2016-report-i.html > > During the vacation stated in the timeline, I will work on completion > of the step 3. The next steps are implementation of the packing > transformation and implementation of a determination of vectorization > factors and profitability of vectorization based on the LLVM > vectorization cost model.Thank you Roman for the update and the nice writeup. I am looking forward to see progress on the packing transformation and the cost model. Best, Tobias