# \[ANN\] Flux v0.10

**URL:** <https://discourse.julialang.org/t/ann-flux-v0-10/31660>\
**Category:** Machine Learning\
**Created:** [November 29, 2019, 2:31pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660 "2019-11-29T14:31:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dhairyagandhi96](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dhairyagandhi96/32/7589_2.png) [@dhairyagandhi96](https://discourse.julialang.org/u/dhairyagandhi96)\
**Post date:** [November 29, 2019, 2:31pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/1 "2019-11-29T14:31:45Z")

</div>

We are delighted to announce the release of [Flux](https://github.com/FluxML/Flux.jl)`v0.10`. This is a huge release including the work of many contributors; the major development is that Flux now uses [Zygote](https://github.com/FluxML/Zygote.jl) as its default backend for gradients, removing many warts from Flux’s interface and making a much larger class of Julia programs differentiable by default. See the [news](https://github.com/FluxML/Flux.jl/blob/master/NEWS.md) file for more information on other changes.

To try it out, [get Julia 1.3](https://julialang.org/downloads/) and `]add Flux` (or `]up Flux` if you have a previous version installed already) from a REPL. Since this is such a big change, some breakage and regressions are inevitable; some users may want to `]add Flux@0.9` to keep to the stable current release. We’d love to have feedback on the experience through the usual channels.

We would like to thank everyone involved in helping with getting this far, through testing, issues and patches. Flux’s users have been doing some [really cool things](https://arxiv.org/pdf/1907.07587.pdf) with differentiable programming already, and we’d love to hear what folks are up to. Enjoy!

– Dhairya, Mike, and the Flux community

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [November 29, 2019, 3:16pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/2 "2019-11-29T15:16:58Z")

</div>

I’m trying out the second [example](https://fluxml.ai/Flux.jl/stable/models/basics/#Simple-Models-1) but the gradient doesn’t change if I change the loss function, seems a bit weird:

```julia
julia> gs[W]
2×5 Array{Float64,2}:
 0.567762 0.753178 0.520799 1.05333 0.337904
 3.84924 5.21601 3.50305 7.42851 2.15487

julia> function loss(x, y)
           ŷ = predict(x)
           1
       end
loss (generic function with 1 method)

julia> gs = gradient(() -> loss(x, y), params(W, b))
Grads(...)

julia> gs[W]
2×5 Array{Float64,2}:
 0.567762 0.753178 0.520799 1.05333 0.337904
 3.84924 5.21601 3.50305 7.42851 2.15487

```

---

<div class="post-metadata">

**Author:** ![MikeInnes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikeinnes/32/3656_2.png) [@MikeInnes](https://discourse.julialang.org/u/MikeInnes)\
**Post date:** [November 29, 2019, 3:24pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/3 "2019-11-29T15:24:35Z")

</div>

Forgot to mention in the original post; we strongly recommend getting Julia 1.3 in order to use this release of Flux. Although we support earlier Julia versions, 1.3 has a fix for this exact issue, which can cause some confusion otherwise.

Thanks for the reminder @jonathanBieler!

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [November 29, 2019, 3:29pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/4 "2019-11-29T15:29:42Z")

</div>

Why not put a lower bound on the Julia version, or some warning and workaround in the docs at least ? Otherwise people are gonna get in trouble.

---

<div class="post-metadata">

**Author:** ![MikeInnes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikeinnes/32/3656_2.png) [@MikeInnes](https://discourse.julialang.org/u/MikeInnes)\
**Post date:** [November 29, 2019, 3:49pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/5 "2019-11-29T15:49:35Z")

</div>

Since Julia 1.0 is the LTS release, we’re going to continue supporting it as far as possible; and this is really a usability issue rather than a functional one.

There is a note on the Zygote readme about this with a workaround for earlier versions, but I agree we should add a note to the docs.

---

<div class="post-metadata">

**Author:** ![IlyaOrson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ilyaorson/32/1681_2.png) [@IlyaOrson](https://discourse.julialang.org/u/IlyaOrson)\
**Post date:** [November 29, 2019, 5:48pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/6 "2019-11-29T17:48:58Z")

</div>

Using Flux throws some CUDA related errors for me. I have Julia 1.3 on a Windows 10 machine without GPU.

> **REPL Summary**
>
> ```julia
> julia> versioninfo()
> Julia Version 1.3.0
> Commit 46ce4d7933 (2019-11-26 06:09 UTC)
> Platform Info:
> OS: Windows (x86_64-w64-mingw32)
> CPU: Intel(R) Core(TM) i5-4310M CPU @ 2.70GHz
> WORD_SIZE: 64
> LIBM: libopenlibm
> LLVM: libLLVM-6.0.1 (ORCJIT, haswell)
> 
> (v1.3) pkg> add Flux
> Updating registry at `C:\Users\Y2CC\.julia\registries\General`
> Updating git-repo `https://github.com/JuliaRegistries/General.git`
> Resolving package versions...
> Installed URIParser ──────────── v0.4.0
> Installed CUDAapi ────────────── v2.0.0
> Installed Requires ───────────── v0.5.2
> Installed FillArrays ─────────── v0.8.2
> Installed DiffRules ──────────── v0.1.0
> Installed BinDeps ────────────── v0.8.10
> Installed Colors ─────────────── v0.9.6
> Installed Flux ───────────────── v0.10.0
> Installed Media ──────────────── v0.5.0
> Installed TimerOutputs ───────── v0.5.3
> Installed MacroTools ─────────── v0.5.2
> Installed NNlib ──────────────── v0.6.0
> Installed Parsers ────────────── v0.3.10
> Installed CategoricalArrays ──── v0.7.3
> Installed ForwardDiff ────────── v0.10.7
> Installed CUDAnative ─────────── v2.5.5
> Installed AbstractTrees ──────── v0.2.1
> Installed DiffResults ────────── v0.0.4
> Installed VersionParsing ─────── v1.1.3
> Installed ColorTypes ─────────── v0.8.0
> Installed AbstractFFTs ───────── v0.4.1
> Installed CodecZlib ──────────── v0.6.0
> Installed NaNMath ────────────── v0.3.3
> Installed LLVM ───────────────── v1.3.2
> Installed Conda ──────────────── v1.3.0
> Installed CuArrays ───────────── v1.4.7
> Installed ZygoteRules ────────── v0.2.0
> Installed FFTW ───────────────── v1.0.1
> Installed CEnum ──────────────── v0.2.0
> Installed SpecialFunctions ───── v0.8.0
> Installed BinaryProvider ─────── v0.5.8
> Installed StaticArrays ───────── v0.12.1
> Installed CommonSubexpressions ─ v0.2.0
> Installed FixedPointNumbers ──── v0.6.1
> Installed Juno ───────────────── v0.7.2
> Installed CUDAdrv ────────────── v4.0.4
> Installed IRTools ────────────── v0.3.0
> Installed Adapt ──────────────── v1.0.0
> Installed GPUArrays ──────────── v2.0.0
> Installed TranscodingStreams ─── v0.9.5
> Installed Zygote ─────────────── v0.4.1
> Installed ZipFile ────────────── v0.8.3
> Installed DataStructures ─────── v0.17.6
> Updating `C:\Users\Y2CC\.julia\environments\v1.3\Project.toml`
> [587475ba] + Flux v0.10.0
> Updating `C:\Users\Y2CC\.julia\environments\v1.3\Manifest.toml`
> [621f4979] + AbstractFFTs v0.4.1
> [1520ce14] + AbstractTrees v0.2.1
> [79e6a3ab] + Adapt v1.0.0
> [9e28174c] + BinDeps v0.8.10
> [b99e7846] ↑ BinaryProvider v0.5.7 ⇒ v0.5.8
> [fa961155] + CEnum v0.2.0
> [3895d2a7] + CUDAapi v2.0.0
> [c5f51814] + CUDAdrv v4.0.4
> [be33ccc6] + CUDAnative v2.5.5
> [324d7699] ↑ CategoricalArrays v0.7.1 ⇒ v0.7.3
> [944b1d66] + CodecZlib v0.6.0
> [3da002f7] + ColorTypes v0.8.0
> [5ae59095] + Colors v0.9.6
> [bbf7d656] + CommonSubexpressions v0.2.0
> [8f4d0f93] + Conda v1.3.0
> [3a865a2d] + CuArrays v1.4.7
> [864edb3b] ↑ DataStructures v0.17.5 ⇒ v0.17.6
> [163ba53b] + DiffResults v0.0.4
> [b552c78f] + DiffRules v0.1.0
> [7a1cc6ca] + FFTW v1.0.1
> [1a297f60] + FillArrays v0.8.2
> [53c48c17] + FixedPointNumbers v0.6.1
> [587475ba] + Flux v0.10.0
> [f6369f11] + ForwardDiff v0.10.7
> [0c68f7d7] + GPUArrays v2.0.0
> [7869d1d1] + IRTools v0.3.0
> [e5e0dc1b] + Juno v0.7.2
> [929cbde3] + LLVM v1.3.2
> [1914dd2f] + MacroTools v0.5.2
> [e89f7d12] + Media v0.5.0
> [872c559c] + NNlib v0.6.0
> [77ba4419] + NaNMath v0.3.3
> [69de0a69] ↑ Parsers v0.3.7 ⇒ v0.3.10
> [ae029012] + Requires v0.5.2
> [276daf66] + SpecialFunctions v0.8.0
> [90137ffa] + StaticArrays v0.12.1
> [a759f4b9] + TimerOutputs v0.5.3
> [3bb67fe8] + TranscodingStreams v0.9.5
> [30578b45] + URIParser v0.4.0
> [81def892] + VersionParsing v1.1.3
> [a5390f91] + ZipFile v0.8.3
> [e88e6eb3] + Zygote v0.4.1
> [700de1a5] + ZygoteRules v0.2.0
> [9abbd945] + Profile
> Building CodecZlib ───────→ `C:\Users\Y2CC\.julia\packages\CodecZlib\5t9zO\deps\build.log`
> Building Conda ───────────→ `C:\Users\Y2CC\.julia\packages\Conda\kLXeC\deps\build.log`
> Building FFTW ────────────→ `C:\Users\Y2CC\.julia\packages\FFTW\MJ7kl\deps\build.log`
> Building SpecialFunctions → `C:\Users\Y2CC\.julia\packages\SpecialFunctions\ne2iw\deps\build.log`
> Building ZipFile ─────────→ `C:\Users\Y2CC\.julia\packages\ZipFile\oD4uG\deps\build.log`
> 
> julia> using Flux
> [Info: Precompiling Flux [587475ba-b771-5e3f-ad9e-33799f191a9c]
> ERROR: LoadError: LoadError: Could not find libcublas
> Stacktrace:
> [1] error(::String) at .\error.jl:33
> [2] top-level scope at C:\Users\Y2CC\.julia\packages\CuArrays\7z7MV\src\blas\CUBLAS.jl:23
> [3] include at .\boot.jl:328 [inlined]
> [4] include_relative(::Module, ::String) at .\loading.jl:1105
> [5] include at .\Base.jl:31 [inlined]
> [6] include(::String) at C:\Users\Y2CC\.julia\packages\CuArrays\7z7MV\src\CuArrays.jl:1
> [7] top-level scope at C:\Users\Y2CC\.julia\packages\CuArrays\7z7MV\src\CuArrays.jl:39
> [8] include at .\boot.jl:328 [inlined]
> [9] include_relative(::Module, ::String) at .\loading.jl:1105
> [10] include(::Module, ::String) at .\Base.jl:31
> [11] top-level scope at none:2
> [12] eval at .\boot.jl:330 [inlined]
> [13] eval(::Expr) at .\client.jl:425
> [14] top-level scope at .\none:3
> in expression starting at C:\Users\Y2CC\.julia\packages\CuArrays\7z7MV\src\blas\CUBLAS.jl:16
> in expression starting at C:\Users\Y2CC\.julia\packages\CuArrays\7z7MV\src\CuArrays.jl:39
> ERROR: LoadError: Failed to precompile CuArrays [3a865a2d-5b23-5a0f-bc46-62713ec82fae] to C:\Users\Y2CC\.julia\compiled\v1.3\CuArrays\7YFE0_48WYT.ji.
> Stacktrace:
> [1] error(::String) at .\error.jl:33
> [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1283
> [3] _require(::Base.PkgId) at .\loading.jl:1024
> [4] require(::Base.PkgId) at .\loading.jl:922
> [5] require(::Module, ::Symbol) at .\loading.jl:917
> [6] include at .\boot.jl:328 [inlined]
> [7] include_relative(::Module, ::String) at .\loading.jl:1105
> [8] include(::Module, ::String) at .\Base.jl:31
> [9] top-level scope at none:2
> [10] eval at .\boot.jl:330 [inlined]
> [11] eval(::Expr) at .\client.jl:425
> [12] top-level scope at .\none:3
> in expression starting at C:\Users\Y2CC\.julia\packages\Flux\oX9Pi\src\Flux.jl:24
> ERROR: Failed to precompile Flux [587475ba-b771-5e3f-ad9e-33799f191a9c] to C:\Users\Y2CC\.julia\compiled\v1.3\Flux\QdkVy_48WYT.ji.
> Stacktrace:
> [1] error(::String) at .\error.jl:33
> [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1283
> [3] _require(::Base.PkgId) at .\loading.jl:1024
> [4] require(::Base.PkgId) at .\loading.jl:922
> [5] require(::Module, ::Symbol) at .\loading.jl:917
> 
> ```

---

<div class="post-metadata">

**Author:** ![Amin\_Yahyaabadi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amin_yahyaabadi/32/9826_2.png) [@Amin\_Yahyaabadi](https://discourse.julialang.org/u/Amin_Yahyaabadi)\
**Post date:** [November 29, 2019, 9:56pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/7 "2019-11-29T21:56:32Z")

</div>

Thank you! This is very exciting. 🚀

I wonder why you chose 0.10 as the name of the release instead of 1. 😄 Usually after 0.9, 1 comes not 0.10 (=0.1).

---

<div class="post-metadata">

**Author:** ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)\
**Post date:** [November 29, 2019, 10:00pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/8 "2019-11-29T22:00:46Z")

</div>

> [@IlyaOrson](#):
>
> Using Flux throws some CUDA related errors for me. I have Julia 1.3 on a Windows 10 machine without GPU.

Known issue with the latest CuArrays on Windows, new version with a fix is incoming: [New version: CuArrays v1.5.0 by JuliaRegistrator · Pull Request #6025 · JuliaRegistries/General · GitHub](https://github.com/JuliaRegistries/General/pull/6025)  
Another Windows fix also incoming: [Implement toolkit version getter. by maleadt · Pull Request #507 · JuliaGPU/CUDAnative.jl · GitHub](https://github.com/JuliaGPU/CUDAnative.jl/pull/507)

---

<div class="post-metadata">

**Author:** ![jpsamaroo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jpsamaroo/32/46804_2.png) [@jpsamaroo](https://discourse.julialang.org/u/jpsamaroo)\
**Post date:** [November 29, 2019, 10:24pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/9 "2019-11-29T22:24:43Z")

</div>

0.10 is not the same as 0.1, they just look similar (thanks to base-10 arithmetic). 1.0 should come when it’s the right time, not just because it just happens to look like there are no more numbers left 🙂

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [November 30, 2019, 10:43am UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/10 "2019-11-30T10:43:37Z")

</div>

Yep, it’s version numbers not decimals:

```julia
julia> 0.10>0.1
false

julia> v"0.10">v"0.1"
true

```

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 6:45pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/12 "2019-11-30T18:45:42Z")

</div>

This at least an ignorant question, maybe stupid - in Julia 1.3, I type `]up Flux` and the output info looks as I’d expect.

However when typing `status` I still see `[587475ba] Flux v0.9.0` listed - so I guess it is not really updated? Am I missing something? _I also tried removing and then adding Flux again and it still list version 0.9_.

Also, is there a way to have Flux print its current version number?

---

<div class="post-metadata">

**Author:** ![simeonschaub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simeonschaub/32/216566_2.png) [@simeonschaub](https://discourse.julialang.org/u/simeonschaub)\
**Post date:** [November 30, 2019, 8:21pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/13 "2019-11-30T20:21:10Z")

</div>

Do you have, by chance, any packages installed that require an older version of `FFTW`? That was the problem for me, since that was holding back Zygote, which held back Flux. You can try `]add Flux@0.10`, then you should get an error message, telling you which packages cause problems. It’s not a great experience right now, debugging these problems, we really need a better solution in Pkg for this.

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 9:19pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/14 "2019-11-30T21:19:46Z")

</div>

Thanks - the version specification (`add Flux@0.10`) is useful to know. I have the same issue as you with FFTW and Zygote.

As I understand your comment, there is some package that is requiring an old version of FFTW - is there a trick to find out what package that is?

It looks like FFTW is on version 1.1.0, but my installed version is 0.3.

---

<div class="post-metadata">

**Author:** ![simeonschaub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simeonschaub/32/216566_2.png) [@simeonschaub](https://discourse.julialang.org/u/simeonschaub)\
**Post date:** [November 30, 2019, 9:24pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/15 "2019-11-30T21:24:17Z")

</div>

Could you post the output you’re getting? As far as I know, there’s really no convenient way to check this, so for me it was more or less trial and error.

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 9:30pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/16 "2019-11-30T21:30:21Z")

</div>

Here is the output when I try to add current Flux:

```julia
(v1.3) pkg> add Flux@0.10
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Zygote [e88e6eb3]:
 Zygote [e88e6eb3] log:
 ├─possible versions are: [0.1.0, 0.2.0, 0.3.0-0.3.4, 0.4.0-0.4.1] or uninstalled
 ├─restricted by compatibility requirements with Flux [587475ba] to versions: 0.4.0-0.4.1
 │ └─Flux [587475ba] log:
 │ ├─possible versions are: [0.4.1, 0.5.0-0.5.4, 0.6.0-0.6.10, 0.7.0-0.7.3, 0.8.0-0.8.3, 0.9.0, 0.10.0] or uninstalled
 │ └─restricted to versions 0.10 by an explicit requirement, leaving only versions 0.10.0
 └─restricted by compatibility requirements with FFTW [7a1cc6ca] to versions: [0.1.0, 0.2.0, 0.3.0-0.3.4] or uninstalled — no versions left
   └─FFTW [7a1cc6ca] log:
     ├─possible versions are: [0.1.0-0.1.2, 0.2.0-0.2.4, 0.3.0, 1.0.0-1.0.1, 1.1.0] or uninstalled
     └─restricted to versions 0.3.0 by an explicit requirement, leaving only versions 0.3.0

```

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [November 30, 2019, 9:41pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/17 "2019-11-30T21:41:13Z")

</div>

Try upgrading FFTW first or try run `add Flux@0.10 FFTW`

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 9:43pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/18 "2019-11-30T21:43:04Z")

</div>

I did try to update FFTW, but it is stuck at 0.3. I just tried `add Flux@0.10 FFTW` and it gives the same output as I posted before 🙁

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 9:44pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/19 "2019-11-30T21:44:45Z")

</div>

Ah, it took me a while but I just tried `add FFTW@1.1.0` and it tells me now that ArrayFire is the culprit.

I can delete ArrayFire for now, as I’m not using it too actively, but it was helpful for some cases (I’m testing a lot on a MacBook with Radeon Pro 555X not nVidia).

---

<div class="post-metadata">

**Author:** ![lwhitefox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lwhitefox/32/4363_2.png) [@lwhitefox](https://discourse.julialang.org/u/lwhitefox)\
**Post date:** [November 30, 2019, 9:45pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/20 "2019-11-30T21:45:16Z")

</div>

any good suggestions for simple access to GPU to replace ArrayFire?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [November 30, 2019, 9:45pm UTC](https://discourse.julialang.org/t/ann-flux-v0-10/31660/21 "2019-11-30T21:45:16Z")

</div>

I did [https://gist.github.com/KristofferC/7c8048e2ee9aaa465966caeb98c1446a#file-packages\_holding\_back-md](https://gist.github.com/KristofferC/7c8048e2ee9aaa465966caeb98c1446a#file-packages_holding_back-md) a while ago and indeed, ArrayFire is shown to hold back FFTW.

[Next page](https://discourse.julialang.org/t/ann-flux-v0-10/31660.md?page=2)
