search for: loopsize

Displaying 18 results from an estimated 18 matches for "loopsize".

2012 Apr 03
1
[LLVMdev] Possible typo in LoopUnrollPass.cpp
...uced count, which is not I expected. Am i correct or i missed something? If i am correct, i am going to fix this. best regards ether ps: the code contains typo if (TripCount) { // Reduce unroll count to be modulo of TripCount for partial unrolling Count = CurrentThreshold / LoopSize; <--------------------------should use Threshold while (Count != 0 && TripCount%Count != 0) Count--; } else if (UnrollRuntime) { // Reduce unroll count to be a lower power-of-two value while (Count != 0 && Size > CurrentThreshold)...
2009 Dec 06
2
Error in eval(expr, envir, enclos) : object 'N' not found
...Kc=6E-1, Kn=6E-1, p=2E-11, a1=1.2E4, a2=7.5E8, Vm=0 ) tout <- seq(0, num_days, by=interval_size) state <- c(T = pars$Tini, N = pars$Nini, C = pars$Cini, M = pars$Mini) out <- lsoda(state, tout, model, pars) ## Finding position at which OF function is reached final_matrix = out; loopsize = (num_days / interval_size) + 1 OF_tumor_size = iniT + (OF_prcnt * iniT) ## Sentinel Value to find at which row in the matrix reaches OF_tumor_size OF_row=-1; for(i in 1:loopsize) { if( out[i,2] >= OF_tumor_size) { OF_row=i; break; } } if(OF_row != -1) { ##Params setup OF_in...
2014 Jan 16
3
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
...Calculating max register usage: LV(REG): At #0 Interval # 0 LV(REG): At #1 Interval # 1 LV(REG): At #2 Interval # 2 LV(REG): At #3 Interval # 3 LV(REG): At #5 Interval # 2 LV(REG): At #6 Interval # 2 LV(REG): At #7 Interval # 2 LV(REG): Found max usage: 3 LV(REG): Found invariant usage: 3 LV(REG): LoopSize: 9 LV: Found a vectorizable loop (1) in gates.ll LV: Unroll Factor is 1 LV: Vectorization is possible but not beneficial. I poked briefly at the vectorizer code to see if there is anything that the profile data could've told it, but this loop did not meet the requirements for unrolling. And e...
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
Hi Hal, I did opt.exe -S -debug -loop-unroll -unroll-runtime=true -unroll-count=4 csShader.ll and it prints out: Args: opt.exe -S -debug -loop-unroll -unroll-runtime=true -unroll-count=4 csShader.ll Loop Unroll: F[build_cs_5_0] Loop %loop_entry Loop Size = 82 partially unrolling with count: 1 Thanks, Frances On Thu, Oct 15, 2015 at 9:35 PM, Hal Finkel <hfinkel at anl.gov>
2018 Jan 11
0
question about unrolling loops with convergent instructions
...is // 2nd priority is unroll count set by pragma. unsigned PragmaCount = UnrollCountPragmaValue(L); if (PragmaCount > 0) { UP.Count = PragmaCount; UP.Runtime = true; UP.AllowExpensiveTripCount = true; UP.Force = true; if (UP.AllowRemainder && getUnrolledLoopSize(LoopSize, UP) < PragmaUnrollThreshold) return true; } Because UP.AllowRemainder is false, the unroll count specified by pragma is ignored. Later on, computeUnrollCount calculates an unroll count of 512. Is this a bug? Essentially, this disables unroll count specified by pragma for any...
2013 Oct 26
2
[LLVMdev] Why is the loop vectorizer not working on my function?
...# 0 LV(REG): At #1 Interval # 1 LV(REG): At #2 Interval # 2 LV(REG): At #3 Interval # 2 LV(REG): At #4 Interval # 3 LV(REG): At #5 Interval # 3 LV(REG): At #6 Interval # 2 LV(REG): At #8 Interval # 1 LV(REG): At #9 Interval # 1 LV(REG): Found max usage: 3 LV(REG): Found invariant usage: 5 LV(REG): LoopSize: 11 LV: Vectorization is possible but not beneficial. LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll LV: Unroll Factor is 1 It's not beneficial? I didn't expect that. Do you have a descriptive explanation why it's not beneficial? Frank On 26/10/13 13:03, Arnold wrote:...
2015 Feb 04
2
[LLVMdev] Is this a bug with loop unrolling and TargetTransformInfo ?
Hi, I ran into this issue recently and wanted to know if it was a bug or expected behavior. In the R600 backend's TargetTransformInfo implementation, we were setting UnrollingPreferences::Count = UINT_MAX. This was a mistake as we should have been setting UnrollingPreferences::MaxCount instead. However, as a result of setting Count to UINT_MAX, this loop would be unrolled 15 times: if (b
2013 Oct 26
0
[LLVMdev] Why is the loop vectorizer not working on my function?
...#2 Interval # 2 > LV(REG): At #3 Interval # 2 > LV(REG): At #4 Interval # 3 > LV(REG): At #5 Interval # 3 > LV(REG): At #6 Interval # 2 > LV(REG): At #8 Interval # 1 > LV(REG): At #9 Interval # 1 > LV(REG): Found max usage: 3 > LV(REG): Found invariant usage: 5 > LV(REG): LoopSize: 11 > LV: Vectorization is possible but not beneficial. > LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll > LV: Unroll Factor is 1 > > It's not beneficial? I didn't expect that. Do you have a descriptive > explanation why it's not beneficial? It looks like...
2013 Oct 26
2
[LLVMdev] Why is the loop vectorizer not working on my function?
...#3 Interval # 2 >> LV(REG): At #4 Interval # 3 >> LV(REG): At #5 Interval # 3 >> LV(REG): At #6 Interval # 2 >> LV(REG): At #8 Interval # 1 >> LV(REG): At #9 Interval # 1 >> LV(REG): Found max usage: 3 >> LV(REG): Found invariant usage: 5 >> LV(REG): LoopSize: 11 >> LV: Vectorization is possible but not beneficial. >> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll >> LV: Unroll Factor is 1 >> >> It's not beneficial? I didn't expect that. Do you have a descriptive >> explanation why it's not ben...
2013 Oct 26
3
[LLVMdev] Why is the loop vectorizer not working on my function?
...>> LV(REG): At #5 Interval # 3 > >>> LV(REG): At #6 Interval # 2 > >>> LV(REG): At #8 Interval # 1 > >>> LV(REG): At #9 Interval # 1 > >>> LV(REG): Found max usage: 3 > >>> LV(REG): Found invariant usage: 5 > >>> LV(REG): LoopSize: 11 > >>> LV: Vectorization is possible but not beneficial. > >>> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll > >>> LV: Unroll Factor is 1 > >>> > >>> It's not beneficial? I didn't expect that. Do you have a > &g...
2013 Oct 26
0
[LLVMdev] Why is the loop vectorizer not working on my function?
...(REG): At #4 Interval # 3 >>> LV(REG): At #5 Interval # 3 >>> LV(REG): At #6 Interval # 2 >>> LV(REG): At #8 Interval # 1 >>> LV(REG): At #9 Interval # 1 >>> LV(REG): Found max usage: 3 >>> LV(REG): Found invariant usage: 5 >>> LV(REG): LoopSize: 11 >>> LV: Vectorization is possible but not beneficial. >>> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll >>> LV: Unroll Factor is 1 >>> >>> It's not beneficial? I didn't expect that. Do you have a descriptive >>> explana...
2013 Oct 26
0
[LLVMdev] Why is the loop vectorizer not working on my function?
...At #5 Interval # 3 >>>>> LV(REG): At #6 Interval # 2 >>>>> LV(REG): At #8 Interval # 1 >>>>> LV(REG): At #9 Interval # 1 >>>>> LV(REG): Found max usage: 3 >>>>> LV(REG): Found invariant usage: 5 >>>>> LV(REG): LoopSize: 11 >>>>> LV: Vectorization is possible but not beneficial. >>>>> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll >>>>> LV: Unroll Factor is 1 >>>>> >>>>> It's not beneficial? I didn't expect that. Do you...
2013 Oct 27
3
[LLVMdev] Why is the loop vectorizer not working on my function?
...gt;>>>> LV(REG): At #6 Interval # 2 >>>>>> LV(REG): At #8 Interval # 1 >>>>>> LV(REG): At #9 Interval # 1 >>>>>> LV(REG): Found max usage: 3 >>>>>> LV(REG): Found invariant usage: 5 >>>>>> LV(REG): LoopSize: 11 >>>>>> LV: Vectorization is possible but not beneficial. >>>>>> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll >>>>>> LV: Unroll Factor is 1 >>>>>> >>>>>> It's not beneficial? I didn't...
2013 Oct 26
0
[LLVMdev] Why is the loop vectorizer not working on my function?
Hi Frank, Sent from my iPhone > On Oct 26, 2013, at 10:03 AM, Frank Winter <fwinter at jlab.org> wrote: > > My function implements a simple loop: > > void bar( int start, int end, float* A, float* B, float* C) > { > for (int i=start; i<end;++i) > A[i] = B[i] * C[i]; > } > > This looks pretty much like the standard example. However, I built
2013 Oct 27
0
[LLVMdev] Why is the loop vectorizer not working on my function?
...LV(REG): At #6 Interval # 2 >>>>>>> LV(REG): At #8 Interval # 1 >>>>>>> LV(REG): At #9 Interval # 1 >>>>>>> LV(REG): Found max usage: 3 >>>>>>> LV(REG): Found invariant usage: 5 >>>>>>> LV(REG): LoopSize: 11 >>>>>>> LV: Vectorization is possible but not beneficial. >>>>>>> LV: Found a vectorizable loop (1) in saxpy_real.gvn.mod.ll >>>>>>> LV: Unroll Factor is 1 >>>>>>> >>>>>>> It's not benef...
2013 Oct 26
2
[LLVMdev] Why is the loop vectorizer not working on my function?
My function implements a simple loop: void bar( int start, int end, float* A, float* B, float* C) { for (int i=start; i<end;++i) A[i] = B[i] * C[i]; } This looks pretty much like the standard example. However, I built the function with the IRBuilder, thus not coming from C and clang. Also I changed slightly the function's signature: define void @bar([8 x i8]* %arg_ptr) {
2016 Oct 06
2
LoopVectorizer -- generating bad and unhandled shufflevector sequence
...erval # 8 LV(REG): At #26 Interval # 7 LV(REG): At #27 Interval # 7 LV(REG): At #28 Interval # 7 LV(REG): At #29 Interval # 7 LV(REG): At #30 Interval # 7 LV(REG): At #31 Interval # 6 LV(REG): At #33 Interval # 5 LV(REG): VF = 2 LV(REG): Found max usage: 2 LV(REG): Found invariant usage: 4 LV(REG): LoopSize: 35 LV: Loop cost is 18 LV: Interleaving to reduce branch cost. LV: Interleaving is not beneficial. LV: Found a vectorizable loop (2) in do_vop.bc LV: Interleaving disabled by the pass manager LV: Scalarizing: %dec = add nsw i32 %len.0288, -1 LV: Scalarizing: %incdec.ptr = getelementptr inbounds...
2014 Jan 16
11
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
I am starting to use the sample profiler to analyze new performance opportunities. The loop unroller has popped up in several of the benchmarks I'm running. In particular, libquantum. There is a ~12% opportunity when the runtime unroller is triggered. This helps functions like quantum_sigma_x (http://sourcecodebrowser.com/libquantum/0.2.4/gates_8c_source.html#l00149). The function accounts