You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _||_ __ _ | Type "?"for help, "]?"for Pkg help.
|||||||/_` | | | | |_| | | | (_| | | Version 1.9.0-DEV.848 (2022-06-24) _/ |\__'_|_|_|\__'_| | Commit 51c88129e2 (1 day old master)|__/ |julia> using CUDAjulia> a = CUDA.randn(100_000);julia> @time sum((sin∘cos∘sin∘cos∘sin∘cos∘sin∘cos).(a))ERROR: GPU broadcast resulted in non-concrete element type Any.This probably means that the function you are broadcasting contains an error or type instability....julia> @time sum((sin∘cos∘sin).(a))ERROR: GPU broadcast resulted in non-concrete element type Any.This probably means that the function you are broadcasting contains an error or type instability....
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _||_ __ _ | Type "?"for help, "]?"for Pkg help.
|||||||/_` | | | | |_| | | | (_| | | Version 1.9.0-DEV.848 (2022-06-24) _/ |\__'_|_|_|\__'_| | Commit 51c88129e2 (1 day old master)|__/ |julia> using CUDAjulia> a = CUDA.randn(100_000);julia> @time sum((sin∘cos).(a)) 4.605380 seconds (11.41 M allocations: 775.927 MiB, 6.96% gc time, 60.82% compilation time)53347.61f0julia> @time sum((sin∘cos∘sin).(a)) 0.868966 seconds (2.06 M allocations: 139.620 MiB, 5.15% gc time, 79.97% compilation time)70603.82f0
The final sin∘cos∘sin command fails in the first example and succeeds in the second
julia> Base._return_type(sin∘cos∘sin∘cos∘sin, Tuple{Float64})
Any
julia> Base._return_type(sin∘cos∘sin∘cos, Tuple{Float64})
Float64
It's possible we could extend the limit by using specific abstract interpreter parameters, but then somebody first would need to figure out which limit/heuristic this is triggering, as well as fix #1253 before this would affect broadcast.
The final
sin∘cos∘sin
command fails in the first example and succeeds in the secondThe text was updated successfully, but these errors were encountered: