File tree 1 file changed +5
-16
lines changed
1 file changed +5
-16
lines changed Original file line number Diff line number Diff line change 42
42
bc′ = Broadcast. preprocess (dest, bc)
43
43
44
44
# grid-stride kernel
45
- @kernel function broadcast_kernel (dest, bc′, nelem)
46
- i = 0
47
- I = @index (Global, Linear)
48
- while i < nelem
49
- i += 1
50
- idx = CartesianIndices (dest)[(I- 1 )* nelem + i]
51
- @inbounds dest[idx] = bc′[idx]
52
- end
45
+ @kernel function broadcast_kernel (dest, bc′)
46
+ I = @index (Global, Cartesian)
47
+ @inbounds dest[I] = bc′[I]
53
48
end
54
- elements = length (dest)
55
- elements_per_thread = typemax (Int)
56
- heuristic = launch_heuristic (get_backend (dest), broadcast_kernel, dest,
57
- bc′, 1 ; elements, elements_per_thread)
58
- config = launch_configuration (get_backend (dest), heuristic;
59
- elements, elements_per_thread)
60
- broadcast_kernel (get_backend (dest))(dest, bc′, config. elements_per_thread,
61
- ndrange = config. threads)
49
+
50
+ broadcast_kernel (get_backend (dest))(dest, bc′, ndrange = length (dest))
62
51
63
52
return dest
64
53
end
You can’t perform that action at this time.
0 commit comments