# Why is LoopVectorization deprecated?

**URL:** https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547
**Category:** Performance
**Tags:** loopvectorization
**Created:** [February 1, 2024, 2:13am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547 "2024-02-01T02:13:46Z")
**Posts on this page:** 20
**Page:** 7

<div class="post-metadata">

### Author: ![mohamed.d180](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mohamed.d180/32/52028_2.png) [@mohamed.d180](https://discourse.julialang.org/u/mohamed.d180)
#### Post date: [July 25, 2024, 10:02pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/122 "2024-07-25T22:02:31Z")

</div>

I think based on [unstable code in Julia 1.10](https://github.com/JuliaSIMD/LoopVectorization.jl/issues/526),  
The [readme note](https://github.com/JuliaSIMD/LoopVectorization.jl/blob/main/README.md) about unstable code in Julia 1.10 must be removed, It makes the users distrust installing the package in 1.10.x versions.

---

<div class="post-metadata">

### Author: ![photor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/photor/32/14343_2.png) [@photor](https://discourse.julialang.org/u/photor)
#### Post date: [July 26, 2024, 2:35am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/123 "2024-07-26T02:35:15Z")

</div>

Please make 1.10 LTS, and let LV reliably run on it

---

<div class="post-metadata">

### Author: ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)
#### Post date: [July 26, 2024, 6:04am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/124 "2024-07-26T06:04:52Z")

</div>

> [@photor](#):
>
> Please make 1.10 LTS

This has been announced in the Juliacon, and 1.10 will become the LTS once 1.11 is released (which isn’t too far away)

---

<div class="post-metadata">

### Author: ![maxfreu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxfreu/32/17468_2.png) [@maxfreu](https://discourse.julialang.org/u/maxfreu)
#### Post date: [July 31, 2024, 1:53pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/125 "2024-07-31T13:53:31Z")

</div>

Hi @ChrisRackauckas! How should donations to numfocus / SciML be tagged for the LV small grants program?

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [July 31, 2024, 2:10pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/126 "2024-07-31T14:10:47Z")

</div>

Feel free to make PRs to the README.

Should also perhaps add a link to the small grants program.  
Note that fixing regressions, e.g. those from 1.12, is vastly easier than writing the code in the first place.  
It’s mostly straightforward mechanical changes. Because it’s also a regression, you can also compare older and newer Julia versions side by side to better understand the changes.

It really isn’t hard. But it isn’t a mentorship program, so you shouldn’t expect any guidance aside from what you can get asking in open channels like discourse, slack, or zulip.

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [July 31, 2024, 2:11pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/127 "2024-07-31T14:11:50Z")

</div>

I hate to break it to you @tecosaur, but your emacs config might merely make you a millionaire, rather than a multi-millionaire.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [July 31, 2024, 2:37pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/128 "2024-07-31T14:37:56Z")

</div>

> [@maxfreu](#):
>
> Hi @ChrisRackauckas! How should donations to numfocus / SciML be tagged for the LV small grants program?

If you leave a note that should be sufficient.

---

<div class="post-metadata">

### Author: ![tecosaur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tecosaur/32/23206_2.png) [@tecosaur](https://discourse.julialang.org/u/tecosaur)
#### Post date: [July 31, 2024, 3:00pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/129 "2024-07-31T15:00:29Z")

</div>

> [@Elrod](#):
>
> I hate to break it to you @tecosaur, but your emacs config might merely make you a millionaire, rather than a multi-millionaire.

This is truly devastating news.

---

<div class="post-metadata">

### Author: ![Salmon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/salmon/32/22968_2.png) [@Salmon](https://discourse.julialang.org/u/Salmon)
#### Post date: [July 31, 2024, 6:09pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/130 "2024-07-31T18:09:51Z")

</div>

> [@ChrisRackauckas](#):
>
> If you leave a note that should be sufficient.

Maybe I am missing something obvious, but I dont see any option to leave a note. There is only space to provide name and address information after that there is only a button to pay. If I remember correctly there is also no way to add a note after paying (though I might be wrong, it was a bit ago)

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [July 31, 2024, 6:15pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/131 "2024-07-31T18:15:29Z")

</div>

Well, there is the field “Are you donating on behalf of an organization or a company?” Is that where we should drop a note?

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [August 11, 2024, 2:28am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/132 "2024-08-11T02:28:25Z")

</div>

I guess so. In the latest versions I don’t see any other spot.

---

<div class="post-metadata">

### Author: ![marcobonici](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcobonici/32/20549_2.png) [@marcobonici](https://discourse.julialang.org/u/marcobonici)
#### Post date: [January 10, 2025, 9:05am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/133 "2025-01-10T09:05:38Z")

</div>

Is there any update on this? Has anyone fixed the issues on LV for 1.12? From the repo it looks not to be the case.  
Eventually, I will contribute myself to the SciML small grants program (LV is too big to fail 🥲)

---

<div class="post-metadata">

### Author: ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)
#### Post date: [January 10, 2025, 9:14am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/134 "2025-01-10T09:14:28Z")

</div>

> [@marcobonici](#):
>
> Is there any update on this?

An update on Julia, perhaps slightly relevant, is that the compiler is now a package, Compiler.jl. Although only for Julia v1.12 and up, which are not released yet. I _guess_ this could make future efforts easier to maintain, assuming a public API and documentation arises. LoopVectorization.jl depends on Julia and LLVM internals, which made it time-consuming to maintain, so changes in Julia like this one could ease that burden.

---

<div class="post-metadata">

### Author: ![woclass](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/woclass/32/212699_2.png) [@woclass](https://discourse.julialang.org/u/woclass)
#### Post date: [January 10, 2025, 11:36am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/135 "2025-01-10T11:36:31Z")

</div>

> [@marcobonici](#):
>
> Is there any update on this?

We need to update LV.jl and all its dependencies.

> **In Progress** : Claimed by Miguel Raz Guzman for the time period of May 10th, 2024 - June 10th 2024.  
> [SciML Small Grants Program Current Project List](https://sciml.ai/small_grants/#update_loopvectorization_to_support_changes_in_julia_v112_200)

> <https://github.com/JuliaSIMD/VectorizationBase.jl/pull/112>
>
> This PR
> \* Temporarily disables Aqua and some tests to speed up test feedback. T…hese will be turn on again after the corresponding tests pass
> \* deletes \`JULIAPOINTER = "i32"/"i64"\` and instead uses \`ptr\` everywhere
> 
> Once the current set of tests pass I'll work on the remaining \`Special Functions\` and friends test sets but wanted to get some progress here first.

But this pr seems to be stalled.

* * *

My attempts:

> <https://github.com/JuliaSIMD/SIMDTypes.jl/pull/12>
>
> Fix #11
> 
> \`\`\`jl
> julia\> VERSION
> v"1.11.2"
> 
> julia\> Float16(0) isa Base.HWReal…
> false
> \`\`\`

> <https://github.com/JuliaSIMD/ThreadingUtilities.jl/pull/53>
>
> Changes:
> \- Use \`ptr\` for opaque pointers with \`llvmcall\`
> \- Need Julia 1.11+:
> … We need LLVM 15+ for pointer type \`ptr\` and Julia 1.11+ for opaque-pointers mode.
> See: \[Pointer Type - LLVM 15\](https://releases.llvm.org/15.0.0/docs/LangRef.html#t-pointer);
> \[Bump Julia to LLVM 16 #51720\](https://github.com/JuliaLang/julia/pull/51720)
> \- Add comment for \`atomicrmw\_ops\`
> \- CI: Update build matrix:
> ref: https://github.com/JuliaLang/Pkg.jl/blob/8d3cf02e5e35913c89440c3b5c6678c1a806e975/.github/workflows/test.yml#L28-L49
> \- CI: run with default arch with julia nightly.
> Or I can copy build matrix from \`ci.yml\` if you want.
> 
> TODO:
> \- \[\] Update CI, also need #52
> \- \[\] Set version to \`v"0.6.0"\`?

Some TODO:

- SLEEFPirates.jl
- CloseOpenIntervals.jl
- PolyesterWeave.jl
- [LoopVectorization.jl/Project.toml at main · JuliaSIMD/LoopVectorization.jl · GitHub](https://github.com/JuliaSIMD/LoopVectorization.jl/blob/main/Project.toml#L6-L27)

There is still a lot of work to be done and any contributions or PR reviews would be welcome.

---

<div class="post-metadata">

### Author: ![marcobonici](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcobonici/32/20549_2.png) [@marcobonici](https://discourse.julialang.org/u/marcobonici)
#### Post date: [January 10, 2025, 12:55pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/136 "2025-01-10T12:55:02Z")

</div>

First and foremost: thanks!  
Unfortunately, I cannot help you (this is beyond my skills).  
I will likely add another 100$ to the SciML grant for this. Again, LV is too important for some many piece of software to make it die. Hopefully you might become the new mantainer 🙂

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [January 10, 2025, 4:57pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/137 "2025-01-10T16:57:53Z")

</div>

If you think you can fix it, feel free to apply for the grant.

It’d have to get fairly juicy before I take a look.

FWIW, I refused the $500 for fixing it for the 1.11 release.  
I repeated a few times that it was actually an easy fix, but most people were too intimidated to give it a look. Took me like 5 minutes.  
The changes for 1.12 are much larger, but I don’t believe they’re difficult.

Some familiarity with things like LLVM IR would, however, be helpful.

> [@woclass](#):
>
> But this pr seems to be stalled.

Consider it abandoned.

---

<div class="post-metadata">

### Author: ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)
#### Post date: [January 10, 2025, 5:22pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/138 "2025-01-10T17:22:34Z")

</div>

500$ in 5mn, what is your hour rate ??!!

---

<div class="post-metadata">

### Author: ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)
#### Post date: [January 10, 2025, 5:58pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/139 "2025-01-10T17:58:05Z")

</div>

```julia
using LoopVectorization

@turbo 500 / 5 * 60

```

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [January 10, 2025, 6:30pm UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/140 "2025-01-10T18:30:24Z")

</div>

$0/hour, because I did the work and refused the money. 😂

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [January 22, 2025, 9:20am UTC](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547/141 "2025-01-22T09:20:27Z")

</div>

> [@marcobonici](#):
>
> I will likely add another 100$ to the SciML grant for this. Again, LV is too important for some many piece of software to make it die. Hopefully you might become the new mantainer 🙂

Note that we recently did a refresh of the SciML Small Grants administration system, making it easier to openly declare for the system. See:

> **[SciML: Open Source Software for Scientific Machine Learning](https://sciml.ai/small_grants/#declaring_for_a_project)**
>
> Open Source Software for Scientific Machine Learning

For how to donate to the program, see:

> **[SciML: Open Source Software for Scientific Machine Learning](https://sciml.ai/small_grants/#donating_to_the_program)**
>
> Open Source Software for Scientific Machine Learning

[Previous page](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547.md?page=6)

[Next page](https://discourse.julialang.org/t/why-is-loopvectorization-deprecated/109547.md?page=8)
