Skip to content

Commit ae13c27

Browse files
committed
Add @avxt to some broadcasting benchmarks even though the thread argument is currently ignored in broadcasts
1 parent 845a556 commit ae13c27

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

src/broadcast.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ end
378378
resize!(ls.loop_order, num_loops(ls)) # num_loops may be greater than N, eg Product
379379
# return ls
380380
# @show u₁, u₂, inline
381-
q = iszero(u₁) ? lower_and_split_loops(ls, inline % Int) : lower(ls, u₁ % Int, u₂ % Int, inline % Int)
381+
q = avx_body(ls, UNROLL)
382382
# q = lower(ls, u₁ % Int, u₂ % Int, inline % Int)
383383
push!(q.args, :dest)
384384
# @show q
@@ -410,7 +410,7 @@ end
410410
add_broadcast!(ls, :dest, :bc, loopsyms, BC, elementbytes)
411411
add_simple_store!(ls, :dest, ArrayReference(:dest, reverse(loopsyms)), elementbytes)
412412
resize!(ls.loop_order, num_loops(ls)) # num_loops may be greater than N, eg Product
413-
q = iszero(u₁) ? lower_and_split_loops(ls, inline % Int) : lower(ls, u₁ % Int, u₂ % Int, inline % Int)
413+
q = avx_body(ls, UNROLL)
414414
# q = lower(ls, u₁ % Int, u₂ % Int, inline % Int)
415415
push!(q.args, :dest′)
416416
q = Expr(

test/broadcast.jl

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@
5151
@test sqrt.(Float32.(a)) @avx sqrt.(a)
5252
elseif T === Int64
5353
a = rand(T(1):T(100), 73, 1);
54-
@test sqrt.(a) @avx sqrt.(a)
54+
@test sqrt.(a) @avxt sqrt.(a)
5555
else
5656
a = rand(T, 73, 1);
5757
@test sqrt.(a) @avx sqrt.(a)
5858
end
5959

6060
a = rand(R, M); B = rand(R, M, N); c = rand(R, N); c′ = c';
61-
d1 = @. a + B * c′;
62-
d2 = @avx @. a + B * c′;
61+
d1 = @. a + B * c′;
62+
d2 = @avxt @. a + B * c′;
6363
@test d1 d2
6464

6565
@. d1 = a + B * c′;
@@ -85,7 +85,7 @@
8585
A = rand(R,M,K); B = rand(R,K,N); C = rand(R,M,N);
8686
At = copy(A');
8787
D1 = C .+ A * B;
88-
D2 = @avx C .+ A .*ˡ B;
88+
D2 = @avxt C .+ A .*ˡ B;
8989
@test D1 D2
9090
if RUN_SLOW_TESTS
9191
fill!(D2, -999999); D2 = @avx C .+ At' *ˡ B;
@@ -98,24 +98,22 @@
9898
C3d = rand(R,3,M,N);
9999
D1 .= view(C3d, 1, :, :) .+ A * B;
100100
fill!(D2, -999999);
101-
@avx D2 .= view(C3d, 1, :, :) .+ A .*ˡ B;
101+
@avxt D2 .= view(C3d, 1, :, :) .+ A .*ˡ B;
102102
@test D1 D2
103103
end
104104
D1 .= 9999;
105105
@avx D2 .= 9999;
106106
@test D1 == D2
107107
D1 .= -99999;
108-
@avx D2' .= -99999;
108+
@avxt D2' .= -99999;
109109
@test D1 == D2
110110

111-
if VERSION > v"1.2"
112-
b = rand(T,K); x = rand(R,N);
113-
D1 .= C .+ A * (b .+ x');
114-
@avx @. D2 = C + A *ˡ (b + x');
115-
@test D1 D2
116-
D2 = @avx @. C + A *ˡ (b + x');
117-
@test D1 D2
118-
end
111+
b = rand(T,K); x = rand(R,N);
112+
D1 .= C .+ A * (b .+ x');
113+
@avxt @. D2 = C + A *ˡ (b + x');
114+
@test D1 D2
115+
D2 = @avx @. C + A *ˡ (b + x');
116+
@test D1 D2
119117

120118
if T <: Union{Float32,Float64}
121119
D3 = cos.(B');
@@ -125,7 +123,7 @@
125123
fill!(D3, -1e3); fill!(D4, 9e9);
126124
Bt = transpose(B);
127125
@. D3 = exp(Bt);
128-
@avx @. D4 = exp(Bt);
126+
@avxt @. D4 = exp(Bt);
129127
@test D3 D4
130128

131129
D1 = similar(B); D2 = similar(B);
@@ -138,7 +136,7 @@
138136
fill!(D1, -1e3);
139137
fill!(D2, 9e9);
140138
@. D1' = exp(Bt);
141-
lset = @avx @. D2' = exp(Bt);
139+
lset = @avxt @. D2' = exp(Bt);
142140

143141
@test D1 D2
144142

@@ -147,12 +145,12 @@
147145
b2 = @. 3*a + sin(a) + sqrt(a);
148146
@test b1 b2
149147
three = 3; fill!(b1, -9999);
150-
@avx @. b1 = three*a + sin(a) + sqrt(a);
148+
@avxt @. b1 = three*a + sin(a) + sqrt(a);
151149
@test b1 b2
152150

153151
C = rand(100,10,10);
154152
D1 = C .^ 0.3;
155-
D2 = @avx C .^ 0.3;
153+
D2 = @avxt C .^ 0.3;
156154
@test D1 D2
157155
@. D1 = C ^ 2;
158156
@avx @. D2 = C ^ 2;

0 commit comments

Comments
 (0)