Skip to content

Commit 5795539

Browse files
committed
Update SIMDPirates version and correctly calculate loopdependencies of variables marked as possible reductions that are not.
1 parent 80dad59 commit 5795539

22 files changed

+40
-20
lines changed

Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ VectorizationBase = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f"
1515
[compat]
1616
DocStringExtensions = "0.8"
1717
OffsetArrays = "1"
18-
SIMDPirates = "0.7.13"
18+
SIMDPirates = "0.7.14"
1919
SLEEFPirates = "0.4.4"
2020
UnPack = "0"
2121
VectorizationBase = "0.10.4"

benchmark/driver.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ logdettriangle_bench = benchmark_logdettriangle(sizes)
4545

4646
v = 1
4747
filetype = "svg"
48-
const PICTURES = joinpath(pkgdir("LoopVectorization"), "docs", "src", "assets")
48+
const PICTURES = joinpath(pkgdir(LoopVectorization), "docs", "src", "assets")
4949
save(joinpath(PICTURES, "bench_filter2d_dynamic_v$v.$filetype"), plot(filter2d_dynamic_bench));
5050
save(joinpath(PICTURES, "bench_filter2d_3x3_v$v.$filetype"), plot(filter2d_3x3_bench));
5151
save(joinpath(PICTURES, "bench_filter2d_unrolled_v$v.$filetype"), plot(filter2d_unrolled_bench));

docs/src/assets/bench_AmulB_v1.svg

+1-1
Loading

docs/src/assets/bench_AmulBt_v1.svg

+1-1
Loading

docs/src/assets/bench_Amulvb_v1.svg

+1-1
Loading

docs/src/assets/bench_AplusAt_v1.svg

+1-1
Loading

docs/src/assets/bench_AtmulB_v1.svg

+1-1
Loading

docs/src/assets/bench_AtmulBt_v1.svg

+1-1
Loading

docs/src/assets/bench_Atmulvb_v1.svg

+1-1
Loading

docs/src/assets/bench_aplusBc_v1.svg

+1-1
Loading

docs/src/assets/bench_dot3_v1.svg

+1-1
Loading

docs/src/assets/bench_dot_v1.svg

+1-1
Loading

docs/src/assets/bench_exp_v1.svg

+1-1
Loading

docs/src/assets/bench_filter2d_3x3_v1.svg

+1-1
Loading

docs/src/assets/bench_filter2d_dynamic_v1.svg

+1-1
Loading

docs/src/assets/bench_filter2d_unrolled_v1.svg

+1-1
Loading

docs/src/assets/bench_logdettriangle_v1.svg

+1-1
Loading

docs/src/assets/bench_random_access_v1.svg

+1-1
Loading

docs/src/assets/bench_selfdot_v1.svg

+1-1
Loading

docs/src/assets/bench_sse_v1.svg

+1-1
Loading

src/add_compute.jl

+1
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ function add_compute!(
240240
# parent = getop(ls, var, elementbytes)
241241
if length(reduceddeps) == 0
242242
insert!(vparents, reduction_ind, parent)
243+
mergesetv!(deps, loopdependencies(parent))
243244
op = Operation(length(operations(ls)), var, elementbytes, instruction(ls,instr), compute, deps, reduceddeps, vparents)
244245
pushop!(ls, op, var)
245246
else

test/miscellaneous.jl

+19
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,20 @@ using Test
153153
end
154154
end
155155

156+
function setcolumstovectorplus100!(Z::AbstractArray{T}, A) where {T}
157+
for i = axes(A,1), j = axes(Z,2)
158+
acc = zero(T)
159+
acc = acc + A[i] + 100
160+
Z[i, j] = acc
161+
end
162+
end
163+
function setcolumstovectorplus100avx!(Z::AbstractArray{T}, A) where {T}
164+
@avx for i = axes(A,1), j = axes(Z,2)
165+
acc = zero(T)
166+
acc = acc + A[i] + 100
167+
Z[i, j] = acc
168+
end
169+
end
156170

157171
function mvp(P, basis, coeffs::Vector{T}) where {T}
158172
len_c = length(coeffs)
@@ -557,6 +571,11 @@ using Test
557571
@test dot3v2avx(x, A, y) d3
558572
@test dot3_avx(x, A, y) d3
559573

574+
A2 = similar(A);
575+
setcolumstovectorplus100!(A, x)
576+
setcolumstovectorplus100avx!(A2, x)
577+
@test A == A2
578+
560579
maxdeg = 20; nbasis = 1_000; dim = 15;
561580
r = T == Float32 ? (Int32(1):Int32(maxdeg+1)) : (1:maxdeg+1)
562581
basis = rand(r, (dim, nbasis));

0 commit comments

Comments
 (0)