search for: isvectorizable

Displaying 12 results from an estimated 12 matches for "isvectorizable".

2016 May 07
3
[GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
...be used by PolyhedralInfo pass as mentioned below. 2: Decouple DependenceInfo object from pass and create two passes. Same as above. 3: Create the interface PolyhedralInfo, which will extract Memory Access wise dependence information from Polly and provide few simple interfaces like isParallel(), isVectorizable(), tripCount(Loop&). Please feel free to post your comments and suggestions on this. [1] https://docs.google.com/document/d/1QyUzL3OOwJSI91lDqr7VsvqUsFyTY9FlpAwbGSipUtw/edit# [2] https://groups.google.com/forum/#!topic/polly-dev/DuRxNmKfEnM Regards, Utpal Bora Ph.D. Scholar Computer Scienc...
2019 Nov 10
2
Reassociation is blocking a vectorization
Hi Devs, I am looking at the bug https://bugs.llvm.org/show_bug.cgi?id=43953 and found that following piece of ir %arrayidx = getelementptr inbounds float, float* %Vec0, i64 %idxprom %0 = load float, float* %arrayidx, align 4, !tbaa !2 %arrayidx2 = getelementptr inbounds float, float* %Vec1, i64 %idxprom %1 = load float, float* %arrayidx2, align 4, !tbaa !2 %sub = fsub fast float %0, %1
2016 Jun 20
2
[GSoC 2016] Polly as an Analysis pass - Midterm report
...t;). Implemented isParallel(Loop *) interface to check parallelism of a loop. Pending Work: 1. Complete the interface - PolyhederalInfo pass. Currently I am working on providing more interfaces to check whether a loop is vectorizable or not and to get loop trip count. - isVectorizable(Loop *L, *MinDepDistance) - getLoopTripCount(Loop *) 2. Work on caching Polly's analysis results properly and provide methods to invalidate the analysis results when the SCoP changes. 3. Demonstrate the power and usefulness of the interface by integrating it...
2017 Sep 22
2
[RFC] Polly Status and Integration
...d dependences for such an "easy" use case. (Note that I do > not question the legality of a user requested transformation here.) If > you are not looking for "end-to-end polyhedral loop optimizations" you > want a system that answers a very specific question (e.g., > isVectorizable) or performs a very specific transformation (e.g, tiling) > on a maximal set of programs. In contrast, Polly is (and I strongly > believe it should be) developed as a system that performs complex > optimizations, based on specialized analysis results, on a constraint > type of programs....
2017 Sep 20
0
[RFC] Polly Status and Integration
...too many features and dependences for such an "easy" use case. (Note that I do not question the legality of a user requested transformation here.) If you are not looking for "end-to-end polyhedral loop optimizations" you want a system that answers a very specific question (e.g., isVectorizable) or performs a very specific transformation (e.g, tiling) on a maximal set of programs. In contrast, Polly is (and I strongly believe it should be) developed as a system that performs complex optimizations, based on specialized analysis results, on a constraint type of programs. One might argue th...
2017 Sep 25
0
[RFC] Polly Status and Integration
...r such an "easy" use case. (Note that I do > >not question the legality of a user requested transformation here.) If > >you are not looking for "end-to-end polyhedral loop optimizations" you > >want a system that answers a very specific question (e.g., > >isVectorizable) or performs a very specific transformation (e.g, tiling) > >on a maximal set of programs. In contrast, Polly is (and I strongly > >believe it should be) developed as a system that performs complex > >optimizations, based on specialized analysis results, on a constraint > >t...
2017 Sep 20
0
[RFC] Polly Status and Integration
...any features and dependences for such an "easy" use case. (Note that I do not question the legality of a user requested transformation here.) If you are not looking for "end-to-end polyhedral loop optimizations" you want a system that answers a very specific question (e.g., > isVectorizable) or performs a very specific transformation (e.g, tiling) on a maximal set of programs. In contrast, Polly is (and I strongly believe it should be) developed as a system that performs complex optimizations, based on specialized analysis results, on a constraint type of programs. > > One migh...
2017 Sep 26
2
[RFC] Polly Status and Integration
..." use case. (Note that I do > > >not question the legality of a user requested transformation here.) If > > >you are not looking for "end-to-end polyhedral loop optimizations" you > > >want a system that answers a very specific question (e.g., > > >isVectorizable) or performs a very specific transformation (e.g, tiling) > > >on a maximal set of programs. In contrast, Polly is (and I strongly > > >believe it should be) developed as a system that performs complex > > >optimizations, based on specialized analysis results, on a constr...
2017 Sep 01
10
[RFC] Polly Status and Integration
** *Hi everyone,As you may know, stock LLVM does not provide the kind of advanced loop transformations necessary to provide good performance on many applications. LLVM's Polly project provides many of the required capabilities, including loop transformations such as fission, fusion, skewing, blocking/tiling, and interchange, all powered by state-of-the-art dependence analysis. Polly also
2003 Oct 08
1
R-1.8.0 is released
...ent. o as.data.frame.list(optional = TRUE) was converting names, and hence data.frame(list(...), check.names = FALSE) was. (PR#3280) o as.dist(m) {mva} now obeys `diag=TRUE' or `upper=TRUE' in all cases. o as.double(list()) etc was regarded as an error, because of a bug in isVectorizable. o On some platforms the wday component of the result of as.POSIXlt() was corrupted when trying to guess the DST offset at dates the OS was unable to handle. o ave(x, g) didn't work when `g' had unused levels. o biplot.default() allows xlim and ylim to be set. (PR#3168)...
2003 Oct 08
1
R-1.8.0 is released
...ent. o as.data.frame.list(optional = TRUE) was converting names, and hence data.frame(list(...), check.names = FALSE) was. (PR#3280) o as.dist(m) {mva} now obeys `diag=TRUE' or `upper=TRUE' in all cases. o as.double(list()) etc was regarded as an error, because of a bug in isVectorizable. o On some platforms the wday component of the result of as.POSIXlt() was corrupted when trying to guess the DST offset at dates the OS was unable to handle. o ave(x, g) didn't work when `g' had unused levels. o biplot.default() allows xlim and ylim to be set. (PR#3168)...
2020 Jan 03
10
Writing loop transformations on the right representation is more productive
...p;& isParallel(Root.getPerfectlyNestedLoop(1)) && fitsWorkingSet(Root.getPerfectlyNestedLoop(2).getBody(), L2Size) && isParallel(Root.getPerfectlyNestedLoop(2)) && fitsWorkingSet(Root.getPerfectlyNestedLoop(3).getBody(), L1Size) && isVectorizable(Root.getPerfectlyNestedLoop(3))) { Optimized = applyVectorization(Root.getPerfectlyNestedLoop(3)); Optimized = applyParallel(Optimized.getParent(), /*places=*/SMT); Optimized = applyParallel(Optimized.getParent(), /*places=*/Cores); Optimized = applyParallel(Optimize...