File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change 47
47
copyto! (similar (bc, ElType), bc)
48
48
end
49
49
50
- @inline function Base. copyto! (dest:: BroadcastGPUArray , bc:: Broadcasted{Nothing} )
50
+ @inline function materialize! (:: Style , dest, bc:: Broadcasted ) where {Style<: AbstractGPUArrayStyle }
51
+ return _copyto! (dest, instantiate (Broadcasted {Style} (bc. f, bc. args, axes (dest))))
52
+ end
53
+
54
+ @inline Base. copyto! (dest:: BroadcastGPUArray , bc:: Broadcasted{Nothing} ) = _copyto! (dest, bc) # Keep it for ArrayConflict
55
+
56
+ @inline Base. copyto! (dest:: AbstractArray , bc:: Broadcasted{<:AbstractGPUArrayStyle} ) = _copyto! (dest, bc)
57
+
58
+ @inline function _copyto! (dest:: AbstractArray , bc:: Broadcasted )
51
59
axes (dest) == axes (bc) || Broadcast. throwdm (axes (dest), axes (bc))
52
60
isempty (dest) && return dest
53
61
bc′ = Broadcast. preprocess (dest, bc)
72
80
return dest
73
81
end
74
82
75
- # Base defines this method as a performance optimization, but we don't know how to do
76
- # `fill!` in general for all `BroadcastGPUArray` so we just go straight to the fallback
77
- @inline Base. copyto! (dest:: BroadcastGPUArray , bc:: Broadcasted{<:Broadcast.AbstractArrayStyle{0}} ) =
78
- copyto! (dest, convert (Broadcasted{Nothing}, bc))
79
-
80
-
81
83
# # map
82
84
83
85
allequal (x) = true
You can’t perform that action at this time.
0 commit comments