Roman Gareev via llvm-dev
2016-May-02 18:03 UTC
[llvm-dev] [GSoC 2016] Introduction of "Improvement of vectorization process in Polly"
Dear LLVM contributors, I am a first year P.h.D. student at Ural Federal University majoring in "Mathematical modelling, numerical methods, and software complexes". At the moment my research focuses on a machine-specific performance modelling and polyhedral optimizations. During the Google Summer of Code 2016 I will work on the "Improvement of vectorization process in Polly" project, which description can be found on the following link [1]. I am planning to do the following during the first five weeks: 1. Understand why we attain only 73.97% with our current manual implementation of Matrix-Matrix Multiplication [2]. According to [3], we can expect 90% of the turbo boost peak of the processor with the C version. 2. Implement determination of statements that contain only matrix multiplication. 3. Implement tilings and interchanges of specific loops based on the algorithm presented in [4]. At this step all necessary parameters of a target architecture (e.g. sizes of cache lines) could be passed as command line parameters. I would be very grateful for your comments, feedback and ideas about the plan and the whole project. Information about updates of the project after reaching the milestones will be published in my blog, which can be found on the following link [5]. Refs.: [1] - https://docs.google.com/document/d/1lXYvyGP3mME5QRc912TXtjdqf7-1k_s1-xVl7JgeTpw/edit?usp=sharing [2] - https://drive.google.com/file/d/0B2Wloo-931AoUUU1T2ZLTDFHNFk/view [3] - http://wiki.cs.utexas.edu/rvdg/HowToOptimizeGemm [4] - http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf [5] - http://romangareev.blogspot.ru -- Cheers, Roman Gareev.