Simon Moll via llvm-dev
2016-Nov-21 08:35 UTC
[llvm-dev] RV: A Unified Region Vectorizer for LLVM - now on github
Hi LLVM developers, The Region Vectorizer (RV) is now available on github https://github.com/simoll/rv RV is a general-purpose vectorization framework for LLVM. It provides a unified interface to vectorize code regions, such as inner and outer loops, up to whole functions. Being a vectorization framework, RV is not another vectorization pass but rather enables users to vectorize IR directly from their own code. I had a poster [1] and a lightning talk on RV at this year's US LLVM Developers' Meeting. We are hoping to upstream (parts of) RV eventually. As a first step I propose to optimize the if-conversion phase in LLVM's LoopVectorizer. RV features a capable vectorization analysis that finds out which branches in a vectorized region can stay despite the surrounding loop being vectorized. Those uniform branches do not need to be folded giving an immediate benefit over the complete if conversion LoopVectorizer is doing right now. We will submit patches that integrate a stripped-down version of RV into the LoopVectorizer to make minimal if conversion work. Get in touch with me if you are interested in RV. We want to learn about new use cases and how RV could be improved. Finally, we welcome new developers to the project to work on new features or improve the existing codebase. Regards, Simon [1] "RV: A Unified Region Vectorizer for LLVM", Moll, S. (LLVM US DevMtg '16) (docs/poster_rv.pdf in the github repository) -- Simon Moll Researcher / PhD Student Compiler Design Lab (Prof. Hack) Saarland University, Computer Science Building E1.3, Room 4.31 Tel. +49 (0)681 302-57521 : moll at cs.uni-saarland.de Fax. +49 (0)681 302-3065 : http://compilers.cs.uni-saarland.de/people/moll
Hal Finkel via llvm-dev
2016-Nov-21 15:03 UTC
[llvm-dev] RV: A Unified Region Vectorizer for LLVM - now on github
----- Original Message -----> From: "Simon Moll via llvm-dev" <llvm-dev at lists.llvm.org> > To: llvm-dev at lists.llvm.org > Sent: Monday, November 21, 2016 2:35:50 AM > Subject: [llvm-dev] RV: A Unified Region Vectorizer for LLVM - now on github > > Hi LLVM developers, > > The Region Vectorizer (RV) is now available on github > https://github.com/simoll/rv > > RV is a general-purpose vectorization framework for LLVM. It provides > a > unified interface to vectorize code regions, such as inner and outer > loops, up to whole functions. Being a vectorization framework, RV is > not > another vectorization pass but rather enables users to vectorize IR > directly from their own code. > > I had a poster [1] and a lightning talk on RV at this year's US LLVM > Developers' Meeting. > > > We are hoping to upstream (parts of) RV eventually. As a first step I > propose to optimize the if-conversion phase in LLVM's LoopVectorizer. > RV > features a capable vectorization analysis that finds out which > branches > in a vectorized region can stay despite the surrounding loop being > vectorized. Those uniform branches do not need to be folded giving an > immediate benefit over the complete if conversion LoopVectorizer is > doing right now. > > We will submit patches that integrate a stripped-down version of RV > into > the LoopVectorizer to make minimal if conversion work.As I said in person at the dev meeting, this sounds like a good incremental step. I look forward to the patches. -Hal> > Get in touch with me if you are interested in RV. We want to learn > about > new use cases and how RV could be improved. Finally, we welcome new > developers to the project to work on new features or improve the > existing codebase. > > Regards, > Simon > > [1] "RV: A Unified Region Vectorizer for LLVM", Moll, S. (LLVM US > DevMtg > '16) (docs/poster_rv.pdf in the github repository) > > > -- > > Simon Moll > Researcher / PhD Student > > Compiler Design Lab (Prof. Hack) > Saarland University, Computer Science > Building E1.3, Room 4.31 > > Tel. +49 (0)681 302-57521 : moll at cs.uni-saarland.de > Fax. +49 (0)681 302-3065 : > http://compilers.cs.uni-saarland.de/people/moll > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory