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...