# Tullio with LoopVectorization fails with upgrade to 1.6.0

**URL:** https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028
**Category:** General Usage
**Tags:** tullio, loopvectorization
**Created:** [March 26, 2021, 3:55pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028 "2021-03-26T15:55:09Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 3:55pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/1 "2021-03-26T15:55:09Z")

</div>

The following code runs fine on Julia 1.5.3, but fails on 1.6.0. It fails on the Tullio line with error

ERROR: LoadError: BoundsError: attempt to access 2-element Vector{Any} at index [0]

If I disable LoopVectorization then it works fine. Any hints?

```julia
using Tullio, LoopVectorization

function dome()
    R = 100; J = 10; d = 3
    w = ones(R)
    M = randn(R,J)
    H = zeros(d,d)
    ji = 5
    Δ = randn(R,J,d)
    @tullio H[k,t] += w[r] * M[r,$ji] * M[r,v] * Δ[r,v,k] * Δ[r,v,t]
end

dome()

```

---

<div class="post-metadata">

### Author: ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)
#### Post date: [March 26, 2021, 4:01pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/2 "2021-03-26T16:01:06Z")

</div>

It seems to run fine on Julia Version 1.6.0 / Win 10:

```julia
julia> dome()
3×3 Matrix{Float64}:
 68.0793 22.3252 -9.93758
 22.3252 25.8297 68.9513
 -9.93758 68.9513 57.6872

```

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 4:03pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/3 "2021-03-26T16:03:34Z")

</div>

Intriguing @rafael.guerra . I’m on Ubuntu/AMD. Surprised that would make a difference.

---

<div class="post-metadata">

### Author: ![mihalybaci](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mihalybaci/32/13528_2.png) [@mihalybaci](https://discourse.julialang.org/u/mihalybaci)
#### Post date: [March 26, 2021, 4:12pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/4 "2021-03-26T16:12:29Z")

</div>

I get the same `BoundsError` on my machine with v1.6.0. I am on MX Linux+MKL, MX Linux is Debian-based.

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 4:18pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/5 "2021-03-26T16:18:59Z")

</div>

It also happens on my Ubuntu/Intel laptop.

---

<div class="post-metadata">

### Author: ![mcabbott](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcabbott/32/6603_2.png) [@mcabbott](https://discourse.julialang.org/u/mcabbott)
#### Post date: [March 26, 2021, 4:22pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/6 "2021-03-26T16:22:34Z")

</div>

This fails for me too:

```julia
(jl_lL2fPA) pkg> st LoopVectorization
      Status `/private/var/folders/yq/4p2zwd614y59gszh7y9ypyhh0000gn/T/jl_lL2fPA/Project.toml`
  [bdcacae8] LoopVectorization v0.12.10

julia> dome()
ERROR: BoundsError: attempt to access 2-element Vector{Any} at index [0]
Stacktrace:
  [1] setindex!
    @ ./essentials.jl:458 [inlined]
  [2] add_prefetches!(q::Expr, ls::LoopVectorization.LoopSet, op::LoopVectorization.Operation, td::LoopVectorization.UnrollArgs, prefetchind::Int64)
    @ LoopVectorization ~/.julia/packages/LoopVectorization/x1yTo/src/codegen/lower_load.jl:99
  [3] lower_load_no_optranslation!(q::Expr, ls::LoopVectorization.LoopSet, op::LoopVectorization.Operation, td::LoopVectorization.UnrollArgs, mask::Bool, inds_calc_by_ptr_offset::Vector{Bool})
    @ LoopVectorization ~/.julia/packages/LoopVectorization/x1yTo/src/codegen/lower_load.jl:147
...

julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.6.0)
  CPU: Apple M1
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, westmere)
Environment:
  JULIA_NUM_THREADS = 4

```

but works on an older LV version:

```julia
julia> dome()
3×3 Matrix{Float64}:
 261.142 -6.82707 -69.5494
  -6.82707 244.834 62.9904
 -69.5494 62.9904 175.976

(@v1.6) pkg> st LoopVectorization
      Status `~/.julia/environments/v1.6/Project.toml`
  [bdcacae8] LoopVectorization v0.10.0

```

@rafael.guerra which LV version are you on?

---

<div class="post-metadata">

### Author: ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)
#### Post date: [March 26, 2021, 4:28pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/7 "2021-03-26T16:28:34Z")

</div>

@mcabbott, Tullio v0.2.13 and LoopVectorization v0.12.10

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 4:31pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/8 "2021-03-26T16:31:24Z")

</div>

I have the same versions of Tullio and LoopVectorization but on Ubuntu

---

<div class="post-metadata">

### Author: ![mcabbott](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcabbott/32/6603_2.png) [@mcabbott](https://discourse.julialang.org/u/mcabbott)
#### Post date: [March 26, 2021, 4:37pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/9 "2021-03-26T16:37:54Z")

</div>

I opened an issue: [An error with v0.12 · Issue #225 · JuliaSIMD/LoopVectorization.jl · GitHub](https://github.com/JuliaSIMD/LoopVectorization.jl/issues/225)

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 4:39pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/10 "2021-03-26T16:39:23Z")

</div>

Thanks!!

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 26, 2021, 6:27pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/11 "2021-03-26T18:27:44Z")

</div>

@mcabbott And to confirm: downgrading LoopVectorization to 0.11.2 fixes the problem in my original (much larger) problem as well.

---

<div class="post-metadata">

### Author: ![Joris\_Pinkse](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joris_pinkse/32/216398_2.png) [@Joris\_Pinkse](https://discourse.julialang.org/u/Joris_Pinkse)
#### Post date: [March 27, 2021, 12:12pm UTC](https://discourse.julialang.org/t/tullio-with-loopvectorization-fails-with-upgrade-to-1-6-0/58028/12 "2021-03-27T12:12:27Z")

</div>

Bug has been fixed in #master. Confirmed. Should hit the main repository soon. Thanks as always for your help @mcabbott !
