# DualNumbers example doesn't work on GPU

**URL:** <https://discourse.julialang.org/t/dualnumbers-example-doesnt-work-on-gpu/59726>\
**Category:** New to Julia\
**Tags:** gpu\
**Created:** [April 21, 2021, 11:01am UTC](https://discourse.julialang.org/t/dualnumbers-example-doesnt-work-on-gpu/59726 "2021-04-21T11:01:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gil](https://avatars.discourse-cdn.com/v4/letter/g/9fc29f/32.png) [@gil](https://discourse.julialang.org/u/gil)\
**Post date:** [April 21, 2021, 11:01am UTC](https://discourse.julialang.org/t/dualnumbers-example-doesnt-work-on-gpu/59726/1 "2021-04-21T11:01:57Z")

</div>

Trying to replicate Tim Besard’s (@maleadt) example from his talk from 2019 ‘Just compile it’.

using DualNumbers

f(x) = 3x^2 + 5x + 2  
wrt(x) = Dual(x, typeof(x)(1))  
a =  
a = wrt.(a)  
f.(2 .\* a .- 3)

works when:  
a = [1., 2., 3.]  
3-element Vector{Dual128}:  
0.0 - 2.0ɛ  
10.0 + 22.0ɛ  
44.0 + 46.0ɛ

doesn’t work when:  
a = CuArray([1., 2., 3.]) # as in example for GPU

ERROR: LLVM error: Cannot select: 0x9960600: f64 = fpow 0x9960738, 0x9960870, math.jl:920 @[/home/gil/.julia/packages/DualNumbers/OVRBb/src/dual.jl:272]  
0x9960738: f64,ch = CopyFromReg 0x98e34f8, Register:f64 %0, math.jl:920 @[/home/gil/.julia/packages/DualNumbers/OVRBb/src/dual.jl:272]  
0x9960328: f64 = Register %0  
0x9960870: f64 = sint\_to\_fp 0x99608d8, float.jl:94 @[math.jl:920 @[ /home/gil/.julia/packages/DualNumbers/OVRBb/src/dual.jl:272] ]  
0x99608d8: i64,ch = CopyFromReg 0x98e34f8, Register:i64 %15, float.jl:94 @[math.jl:920 @[ /home/gil/.julia/packages/DualNumbers/OVRBb/src/dual.jl:272] ]  
0x99600b8: i64 = Register %15  
In function: julia\_pow\_7852

Thanks.

---

<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:** [April 21, 2021, 12:14pm UTC](https://discourse.julialang.org/t/dualnumbers-example-doesnt-work-on-gpu/59726/2 "2021-04-21T12:14:04Z")

</div>

You’re probably not using the latest version of CUDA.jl (Julia 1.6 only).

---

<div class="post-metadata">

**Author:** ![gil](https://avatars.discourse-cdn.com/v4/letter/g/9fc29f/32.png) [@gil](https://discourse.julialang.org/u/gil)\
**Post date:** [April 22, 2021, 3:59pm UTC](https://discourse.julialang.org/t/dualnumbers-example-doesnt-work-on-gpu/59726/3 "2021-04-22T15:59:16Z")

</div>

Thanks for your reply, it turns out my CUDA.jl was 2.X.X, and update to 3.0.3 was not possible because of the Flux.jl installation.
