search for: innermost

Displaying 20 results from an estimated 184 matches for "innermost".

2011 Nov 16
2
[LLVMdev] CallSite in innermost loop
In order to detect whether CallSite is present in innermost loop, do I need to insert logic from LoopInfo pass for collecting loops, within a CallGraphSCC pass?   Is there any other approach for this?   Regards, Pankaj -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20...
2005 Apr 19
2
Odd diagnostic plots in mixed-effects models
Dear R community, In the excellent nlme package the default diagnostic plot graphs the innermost residuals against innermost fitted values. I recently fit a mixed-effects model in which there was a very clear positive linear trend in this plot. I inferred that this trend occurred because my fixed effect was a two-level factor, and my random effect was a 12-level factor. The negative residu...
2011 Nov 16
0
[LLVMdev] CallSite in innermost loop
On Nov 16, 2011, at 2:43 AM, Pankaj Gode wrote: > In order to detect whether CallSite is present in innermost loop, do I need to insert logic from LoopInfo pass for collecting loops, within a CallGraphSCC pass? > > Is there any other approach for this? > PassManager not only schedules passes, it also - manages memory - ensures that analysis info is valid at the point of use - eliminates re...
2016 Sep 21
5
RFC: Extending LV to vectorize outerloops
Proposal for extending the Loop Vectorizer to handle Outer Loops ================================================================ Goal: ----- We propose to extend the innermost Loop Vectorizer to also handle outerloops (cf.[1]). Our aim is to best leverage the efforts already invested in the existing innermost Loop Vectorizer rather than introduce a separate pass dedicated to outerloop vectorization. This proposal will support explicit vector programming of loops and func...
2015 Jul 08
7
[LLVMdev] LLVM loop vectorizer
...However, at http://llvm.org/docs/Vectorizers.html#if-conversion it is written: <<The Loop Vectorizer is able to "flatten" the IF statement in the code and generate a single stream of instructions. The Loop Vectorizer supports any control flow in the innermost loop. The innermost loop may contain complex nesting of IFs, ELSEs and even GOTOs.>> Could you please tell me what are these lines exactly trying to say. Could you please tell me what algorithm is the LLVM loop vectorizer using (maybe the algorithm is described in...
2017 Dec 14
3
[RFC][LV][VPlan] Proposal for Outer Loop Vectorization Implementation Plan
...cle. This is essentially the first guard. We plan to have flags/settings to control which types of outer loops are handled. The new code path is initially exclusive to outer loop vectorization. If we disable all types of outer loops (and that's the initial default), LV continues to be good old innermost loop vectorizer. >I'd like to hear what plan is in place to ensure we don't destabilize the vectorizer while working on this. W.r.t. this project, this matters when we touch the code that is shared with innermost loop vectorization and outer loop vectorization. It's certainly good...
2016 Dec 27
1
Question regarding LICM
...&ctx),A<int>(&ctx),A<int>(&ctx)}; 5:A<int> lat(&ctx); 6: 7:for(std::size_t i = 0; i < 4; ++i) 8: for(std::size_t j = 0; j < 4; ++j) 9: for(std::size_t k = 0; k < 4; ++k) { 10: lat = a[i] * b[j] *c[k]; 11: } The IR generated for the body of the innermost loop after inlining most of the expression template calls and loop simplification is show below. If I run LICM on this IR the GEPs in line 1,2 are hoisted into the preheaders of the "j-loop" and the "k-loop" respectively. I believe this is so as the operands to the GEP are loop...
2018 Jan 15
0
[RFC][LV][VPlan] Proposal for Outer Loop Vectorization Implementation Plan
...is essentially the first guard. We plan to have flags/settings to control which types of outer loops are handled. > The new code path is initially exclusive to outer loop vectorization. If we disable all types of outer loops > (and that's the initial default), LV continues to be good old innermost loop vectorizer. > >> I'd like to hear what plan is in place to ensure we don't destabilize the vectorizer while working on this. > W.r.t. this project, this matters when we touch the code that is shared with innermost loop vectorization > and outer loop vectorization. It'...
2016 Feb 18
3
[LLVMdev] LLVM loop vectorizer
...){ >>> z[i]=0; >>> for (ckey=row_ptr[i]; ckey<row_ptr[i+1]; ckey++) { >>> z[i] += data[ckey]*x[colind[ckey]]; >>> } >>> }| >>> >>> Is it the loop you are trying to vectorize? I don’t see any ‘if’ inside the innermost loop. >> I tried to simplify this code in the hope the loop vectorizer can take care of it better: >> I linearized... >> >>> But anyway, here vectorizer might have following troubles: >>> 1) iteration count of the innermost loop is unknown. >>> 2) Gathe...
2011 Jul 12
5
[LLVMdev] Catching exceptions passed through a JIT ExecutionEngine
...xecutionEngine but I am unable to do so. Specifically, in C++ code, inside a try/catch block, I call a JITted function, which in turn calls back into my code. Everything works fine unless an exception is thrown; I would except the outermost try/catch(...) block to catch the exception thrown in my innermost C++ code, but instead I get the abort "terminate called after throwing an instance of 'MyException'". I am compiling the system with g++ (on Linux and OSX); I haven't tried MSVC++. Is there something that I need to do to get this behaviour to work? I admit that I have only...
2012 Jan 09
1
glmmPQL and predict
Is the labeling/naming of levels in the documentation for the predict.glmmPQL function "backwards"? The documentation states "Level values increase from outermost to innermost grouping, with level zero corresponding to the population predictions". Taking the sample in the documentation: fit <- glmmPQL(y ~ trt + I(week > 2), random = ~1 | ID, family = binomial, data = bacteria) > head(predict(fit, bacteria, level = 0, type="response&q...
2016 Jun 08
5
[Proposal][RFC] Cache aware Loop Cost Analysis
...r cache related optimizations like interchange, fusion, fission, pre-fetching and others. I have implemented a prototypical version at http://reviews.llvm.org/D21124. The patch basically creates groups of references that would lie in the same cache line. Each group is then analysed with respect to innermost loops considering cache lines. Penalty for the reference is: a. 1, if the reference is invariant with the innermost loop, b. TripCount for non-unit stride access, c. TripCount / CacheLineSize for a unit-stride access. Loop Cost is then calculated as the sum of the reference penalties times the prod...
2017 Dec 06
3
[RFC][LV][VPlan] Proposal for Outer Loop Vectorization Implementation Plan
...urrent progress on continued refactoring effort and outer loop vectorization effort. To implement outer loop vectorization in incremental steps, we propose adding new code paths that would be exercised initially for only outer loop vectorization cases. This would ensure that the changes are NFC for innermost loop vectorization cases until we (slowly) transition them to also go through these new code paths.   Given that LV never had the ability to vectorize outer level loops, letting outer loop vectorization take slightly different code paths, compared to innermost loop vectorization, won't cause an...
2016 Jun 04
4
[LLVMdev] LLVM loop vectorizer
...|for (i=0; i<M; i++ ){ z[i]=0; for (ckey=row_ptr[i]; ckey<row_ptr[i+1]; >>>>> ckey++) { z[i] += data[ckey]*x[colind[ckey]]; } }| >>>>> >>>>> Is it the loop you are trying to vectorize? I don’t see any ‘if’ inside the >>>>> innermost loop. >>>> I tried to simplify this code in the hope the loop vectorizer can take care of it >>>> better: I linearized... >>>> >>>>> But anyway, here vectorizer might have following troubles: 1) iteration count of >>>>> the innermos...
2006 Aug 03
2
bullseye or polar display of "circular" data
...eral rings of a left heart chamber, and which I would like to display in concentric rings, with color-encoding of the values. Each ring corresponds to one slice through the heart, and the rings correspond to positions from the base to the apex of the heart as you move from the outermost ring to the innermost one. The data have a circular pattern. These types of displays are referred to as bullseye displays in the nuclear medicine literature. Does any reader of these messages know of a R function/package that offers this functionality? Also I noticed that in some contexts you can define a "circula...
2016 Jun 07
2
[LLVMdev] LLVM loop vectorizer
...|for (i=0; i<M; i++ ){ z[i]=0; for (ckey=row_ptr[i]; ckey<row_ptr[i+1]; >>>>> ckey++) { z[i] += data[ckey]*x[colind[ckey]]; } }| >>>>> >>>>> Is it the loop you are trying to vectorize? I don’t see any ‘if’ inside the >>>>> innermost loop. >>>> I tried to simplify this code in the hope the loop vectorizer can take care of it >>>> better: I linearized... >>>> >>>>> But anyway, here vectorizer might have following troubles: 1) iteration count of >>>>> the innermos...
2010 Feb 09
2
transparent concentric circles
...e 50 characteristics, and so on. I would like to plot these as concentric circles, with the circle size preferentially being proportional to the size of the number of elements (this is not a must, however). I would also like the colors of the circles to become stronger/deeper as we progress to the innermost circle (which would be the one containing the number of characteristics shared by all four). Can somebody point me to what I can use to do this? Thanks! Karin -- Karin Lagesen, PhD
2012 Nov 23
1
[LLVMdev] Disable loop unroll pass
...such arch HW-loop and unrolling are orthogonal. - hasLoopZeroCostTopology(Loop *L, unsigend TripCount) Why trip-count? It can be derived from the loop itself. Which optimizer will call this interface? I would suggest following interface: /// get unrolling factor of given *INNERMOST* loop from HW's perspective. /// Note: this interface is for innermost loop only. Getting the factor /// for unroll-and-jam should call other interface. virtual int getHwUnrollFactor (Loop*, unsigned CurUnrollingFactor) { // by default, no object to the proposed unrolling f...
2011 Jul 21
0
[LLVMdev] Catching exceptions passed through a JIT ExecutionEngine
...xecutionEngine but I am unable to do so. Specifically, in C++ code, inside a try/catch block, I call a JITted function, which in turn calls back into my code. Everything works fine unless an exception is thrown; I would except the outermost try/catch(...) block to catch the exception thrown in my innermost C++ code, but instead I get the abort "terminate called after throwing an instance of 'MyException'". I am compiling the system with g++ (on Linux and OSX); I haven't tried MSVC++. > > Is there something that I need to do to get this behaviour to work? I admit that I...
2018 Jan 16
1
[RFC][LV][VPlan] Proposal for Outer Loop Vectorization Implementation Plan
...plan to have flags/settings >> to control which types of outer loops are handled. >> The new code path is initially exclusive to outer loop vectorization. >> If we disable all types of outer loops >> (and that's the initial default), LV continues to be good old >> innermost loop vectorizer. >> >>> I'd like to hear what plan is in place to ensure we don't >>> destabilize the vectorizer while working on this. >> W.r.t. this project, this matters when we touch the code that is >> shared with innermost loop vectorization >&gt...