Skip to content

Commit f295ba6

Browse files
committed
slightly relaxing allocation tests
1 parent 767aa19 commit f295ba6

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

test/matrix_multiply_add.jl

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,16 @@ function test_multiply_add(N1,N2,ArrayType=MArray)
9393
mul!(b,At,c,1.0,2.0)
9494
@test b 5A'c
9595

96+
expected_transpose_allocs = VERSION < v"1.5" ? 1 : 0
9697
@test_noalloc mul!(c,A,b)
9798
bmark = @benchmark mul!($c,$A,$b,$α,$β) samples=10 evals=10
9899
@test minimum(bmark).allocs == 0
99100
# @test_noalloc mul!(c, A, b, α, β) # records 32 bytes
100101
bmark = @benchmark mul!($b,Transpose($A),$c) samples=10 evals=10
101-
@test minimum(bmark).allocs == 0
102+
@test minimum(bmark).allocs <= expected_transpose_allocs
102103
# @test_noalloc mul!(b, Transpose(A), c) # records 16 bytes
103104
bmark = @benchmark mul!($b,Transpose($A),$c,$α,$β) samples=10 evals=10
104-
@test minimum(bmark).allocs == 0
105+
@test minimum(bmark).allocs <= expected_transpose_allocs
105106
# @test_noalloc mul!(b, Transpose(A), c, α, β) # records 48 bytes
106107

107108
# outer product
@@ -116,7 +117,7 @@ function test_multiply_add(N1,N2,ArrayType=MArray)
116117
@test C 3a*b'
117118

118119
b = @benchmark mul!($C,$a,$b') samples=10 evals=10
119-
@test minimum(b).allocs == 0
120+
@test minimum(b).allocs <= expected_transpose_allocs
120121
# @test_noalloc mul!(C, a, b') # records 16 bytes
121122

122123
# A × B
@@ -144,7 +145,7 @@ function test_multiply_add(N1,N2,ArrayType=MArray)
144145
@test B 4A'C
145146

146147
b = @benchmark mul!($B,Transpose($A),$C,$α,$β) samples=10 evals=10
147-
@test minimum(b).allocs == 0
148+
@test minimum(b).allocs <= expected_transpose_allocs
148149
# @test_noalloc mul!(B, Transpose(A), C, α, β) # records 48 bytes
149150

150151
# A*B'
@@ -157,7 +158,7 @@ function test_multiply_add(N1,N2,ArrayType=MArray)
157158
@test C 4A*B'
158159

159160
b = @benchmark mul!($C,$A,Transpose($B),$α,$β) samples=10 evals=10
160-
@test minimum(b).allocs == 0
161+
@test minimum(b).allocs <= expected_transpose_allocs
161162
# @test_noalloc mul!(C, A, Transpose(B), α, β) # records 48 bytes
162163

163164
# A'B'
@@ -171,15 +172,15 @@ function test_multiply_add(N1,N2,ArrayType=MArray)
171172
@test C 4A'B'
172173

173174
b = @benchmark mul!($C,Transpose($A),Transpose($B),$α,$β) samples=10 evals=10
174-
@test minimum(b).allocs == 0
175+
@test minimum(b).allocs <= 2*expected_transpose_allocs
175176
# @test_noalloc mul!(C, Transpose(A), Transpose(B), α, β) # records 64 bytes
176177

177178
# Transpose Output
178179
C = rand(Mat{N1,N2})
179180
mul!(Transpose(C),Transpose(A),Transpose(B))
180181
@test C' A'B'
181182
b = @benchmark mul!(Transpose($C),Transpose($A),Transpose($B),$α,$β) samples=10 evals=10
182-
@test minimum(b).allocs == 0
183+
@test minimum(b).allocs <= expected_transpose_allocs*3
183184
# @test_noalloc mul!(Transpose(C), Transpose(A), Transpose(B), α, β) # records 80 bytes
184185
end
185186

0 commit comments

Comments
 (0)