@@ -45,7 +45,7 @@ function matmul_bench!(br, C, A, B, i)
45
45
br[2 ,i] = n_gflop / @belapsed jgemm! ($ C, $ A, $ B)
46
46
@assert C ≈ Cblas " Julia gemm wrong?" ; fill! (C, NaN )
47
47
br[3 ,i] = n_gflop / @belapsed cgemm! ($ C, $ A, $ B)
48
- @assert C ≈ Cblas " Polly gemm wrong?" ; fill! (C, NaN )
48
+ @assert C ≈ Cblas " Clang gemm wrong?" ; fill! (C, NaN )
49
49
br[4 ,i] = n_gflop / @belapsed fgemm! ($ C, $ A, $ B)
50
50
@assert C ≈ Cblas " Fort gemm wrong?" ; fill! (C, NaN )
51
51
br[5 ,i] = n_gflop / @belapsed fgemm_builtin! ($ C, $ A, $ B)
@@ -60,8 +60,8 @@ function matmul_bench!(br, C, A, B, i)
60
60
@assert C ≈ Cblas " eigen gemm wrong?" ; fill! (C, NaN )
61
61
br[10 ,i] = n_gflop / @belapsed iegemm! ($ C, $ A, $ B)
62
62
@assert C ≈ Cblas " i-eigen gemm wrong?" ; fill! (C, NaN )
63
- # br[11,i] = n_gflop / @belapsed dgemmjit !($C, $A, $B)
64
- # @assert C ≈ Cblas "MKL JIT gemm wrong?"; fill!(C, NaN)
63
+ br[11 ,i] = n_gflop / @belapsed dgemmmkl ! ($ C, $ A, $ B)
64
+ @assert C ≈ Cblas " MKL JIT gemm wrong?" ; fill! (C, NaN )
65
65
# br[12,i] = n_gflop / @belapsed gemmavx!($C, $A, $B)
66
66
br[end ,i] = n_gflop / @belapsed gemmavx! ($ C, $ A, $ B)
67
67
@assert C ≈ Cblas " LoopVec gemm wrong?"
@@ -104,10 +104,10 @@ end
104
104
105
105
blastests () = [
106
106
BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" ,
107
- " Julia" , " Clang-Polly " ,
107
+ " Julia" , " Clang" ,
108
108
" GFortran" , " GFort-intrinsic" ,
109
109
" icc" , " ifort" , " ifort-intrinsic" ,
110
- " g++ & Eigen-3" , " icpc & Eigen-3" ,
110
+ " g++ & Eigen-3" , " icpc & Eigen-3" , " MKL " ,
111
111
" LoopVectorization"
112
112
# "MKL JIT", "LoopVectorization"
113
113
]
@@ -145,7 +145,7 @@ function dot_bench!(br, s, i)
145
145
br[2 ,i] = n_gflop / @belapsed jdot ($ a, $ b)
146
146
@assert jdot (a,b) ≈ dotblas " Julia dot wrong?"
147
147
br[3 ,i] = n_gflop / @belapsed cdot ($ a, $ b)
148
- @assert cdot (a,b) ≈ dotblas " Polly dot wrong?"
148
+ @assert cdot (a,b) ≈ dotblas " Clang dot wrong?"
149
149
br[4 ,i] = n_gflop / @belapsed fdot ($ a, $ b)
150
150
@assert fdot (a,b) ≈ dotblas " Fort dot wrong?"
151
151
br[5 ,i] = n_gflop / @belapsed icdot ($ a, $ b)
@@ -160,7 +160,7 @@ function dot_bench!(br, s, i)
160
160
@assert jdotavx (a,b) ≈ dotblas " LoopVec dot wrong?"
161
161
end
162
162
function benchmark_dot (sizes)
163
- tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
163
+ tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
164
164
br = BenchmarkResult (tests, sizes)
165
165
sm = br. sizedresults. results
166
166
pmap (is -> dot_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -174,7 +174,7 @@ function selfdot_bench!(br, s, i)
174
174
br[2 ,i] = n_gflop / @belapsed jselfdot ($ a)
175
175
@assert jselfdot (a) ≈ dotblas " Julia dot wrong?"
176
176
br[3 ,i] = n_gflop / @belapsed cselfdot ($ a)
177
- @assert cselfdot (a) ≈ dotblas " Polly dot wrong?"
177
+ @assert cselfdot (a) ≈ dotblas " Clang dot wrong?"
178
178
br[4 ,i] = n_gflop / @belapsed fselfdot ($ a)
179
179
@assert fselfdot (a) ≈ dotblas " Fort dot wrong?"
180
180
br[5 ,i] = n_gflop / @belapsed icselfdot ($ a)
@@ -189,7 +189,7 @@ function selfdot_bench!(br, s, i)
189
189
@assert jselfdotavx (a) ≈ dotblas " LoopVec dot wrong?"
190
190
end
191
191
function benchmark_selfdot (sizes)
192
- tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
192
+ tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
193
193
br = BenchmarkResult (tests, sizes)
194
194
sm = br. sizedresults. results
195
195
pmap (is -> selfdot_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -206,7 +206,7 @@ function gemv_bench!(br, x, A, y, i)
206
206
br[2 ,i] = n_gflop / @belapsed jgemv! ($ x, $ A, $ y)
207
207
@assert x ≈ xblas " Julia wrong?" ; fill! (x, NaN );
208
208
br[3 ,i] = n_gflop / @belapsed cgemv! ($ x, $ A, $ y)
209
- @assert x ≈ xblas " Polly wrong?" ; fill! (x, NaN );
209
+ @assert x ≈ xblas " Clang wrong?" ; fill! (x, NaN );
210
210
br[4 ,i] = n_gflop / @belapsed fgemv! ($ x, $ A, $ y)
211
211
@assert x ≈ xblas " Fort wrong?" ; fill! (x, NaN );
212
212
br[5 ,i] = n_gflop / @belapsed fgemv_builtin! ($ x, $ A, $ y)
@@ -221,8 +221,8 @@ function gemv_bench!(br, x, A, y, i)
221
221
@assert x ≈ xblas " eigen wrong?" ; fill! (x, NaN );
222
222
br[10 ,i] = n_gflop / @belapsed iegemv! ($ x, $ A, $ y)
223
223
@assert x ≈ xblas " i-eigen wrong?" ; fill! (x, NaN );
224
- # br[11,i] = n_gflop / @belapsed dgemmjit !($x, $A, $y)
225
- # @assert x ≈ xblas "gemmjit wrong?"; fill!(x, NaN);
224
+ br[11 ,i] = n_gflop / @belapsed dgemvmkl ! ($ x, $ A, $ y)
225
+ @assert x ≈ xblas " gemvmkl wrong?" ; fill! (x, NaN );
226
226
br[end ,i] = n_gflop / @belapsed jgemvavx! ($ x, $ A, $ y)
227
227
@assert x ≈ xblas " LoopVec wrong?"
228
228
end
@@ -262,7 +262,7 @@ function dot3_bench!(br, s, i)
262
262
br[2 ,i] = n_gflop / @belapsed jdot3 ($ x, $ A, $ y)
263
263
@assert jdot3 (x, A, y) ≈ dotblas " Julia dot wrong?"
264
264
br[3 ,i] = n_gflop / @belapsed cdot3 ($ x, $ A, $ y)
265
- @assert cdot3 (x, A, y) ≈ dotblas " Polly dot wrong?"
265
+ @assert cdot3 (x, A, y) ≈ dotblas " Clang dot wrong?"
266
266
br[4 ,i] = n_gflop / @belapsed fdot3 ($ x, $ A, $ y)
267
267
@assert fdot3 (x, A, y) ≈ dotblas " Fort dot wrong?"
268
268
br[5 ,i] = n_gflop / @belapsed icdot3 ($ x, $ A, $ y)
@@ -277,7 +277,7 @@ function dot3_bench!(br, s, i)
277
277
@assert jdot3avx (x, A, y) ≈ dotblas " LoopVec dot wrong?"
278
278
end
279
279
function benchmark_dot3 (sizes)
280
- tests = [BLAS . vendor () === :mkl ? " IntelMKL " : " OpenBLAS " , " Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
280
+ tests = [" LinearAlgebra " , " Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
281
281
br = BenchmarkResult (tests, sizes)
282
282
sm = br. sizedresults. results
283
283
pmap (is -> dot3_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -301,7 +301,7 @@ function sse_bench!(br, s, i)
301
301
br[2 ,i] = n_gflop / @belapsed jOLSlp ($ y, $ X, $ β)
302
302
@assert jOLSlp (y, X, β) ≈ lpblas " Julia wrong?"
303
303
br[3 ,i] = n_gflop / @belapsed cOLSlp ($ y, $ X, $ β)
304
- @assert cOLSlp (y, X, β) ≈ lpblas " Polly wrong?"
304
+ @assert cOLSlp (y, X, β) ≈ lpblas " Clang wrong?"
305
305
br[4 ,i] = n_gflop / @belapsed fOLSlp ($ y, $ X, $ β)
306
306
@assert fOLSlp (y, X, β) ≈ lpblas " Fort wrong?"
307
307
br[5 ,i] = n_gflop / @belapsed icOLSlp ($ y, $ X, $ β)
@@ -316,7 +316,7 @@ function sse_bench!(br, s, i)
316
316
@assert jOLSlp_avx (y, X, β) ≈ lpblas " LoopVec wrong?"
317
317
end
318
318
function benchmark_sse (sizes)
319
- tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
319
+ tests = [BLAS. vendor () === :mkl ? " IntelMKL" : " OpenBLAS" , " Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
320
320
br = BenchmarkResult (tests, sizes)
321
321
sm = br. sizedresults. results
322
322
pmap (is -> sse_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -340,7 +340,7 @@ function exp_bench!(br, s, i)
340
340
@assert b ≈ baseb " LoopVec wrong?"
341
341
end
342
342
function benchmark_exp (sizes)
343
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
343
+ tests = [" Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
344
344
br = BenchmarkResult (tests, sizes)
345
345
sm = br. sizedresults. results
346
346
pmap (is -> exp_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -355,7 +355,7 @@ function aplusBc_bench!(br, s, i)
355
355
br[1 ,i] = n_gflop / @belapsed @. $ D = $ a + $ B * $ c′
356
356
Dcopy = copy (D); fill! (D, NaN );
357
357
br[2 ,i] = n_gflop / @belapsed caplusBc! ($ D, $ a, $ B, $ c)
358
- @assert D ≈ Dcopy " Polly wrong?" ; fill! (D, NaN );
358
+ @assert D ≈ Dcopy " Clang wrong?" ; fill! (D, NaN );
359
359
br[3 ,i] = n_gflop / @belapsed faplusBc! ($ D, $ a, $ B, $ c)
360
360
@assert D ≈ Dcopy " Fort wrong?" ; fill! (D, NaN );
361
361
br[4 ,i] = n_gflop / @belapsed icaplusBc! ($ D, $ a, $ B, $ c)
@@ -370,7 +370,7 @@ function aplusBc_bench!(br, s, i)
370
370
@assert D ≈ Dcopy " LoopVec wrong?"
371
371
end
372
372
function benchmark_aplusBc (sizes)
373
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
373
+ tests = [" Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
374
374
br = BenchmarkResult (tests, sizes)
375
375
sm = br. sizedresults. results
376
376
pmap (is -> aplusBc_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -402,7 +402,7 @@ function AplusAt_bench!(br, s, i)
402
402
@assert B ≈ baseB " LoopVec wrong?"
403
403
end
404
404
function benchmark_AplusAt (sizes)
405
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " GFortran-builtin" , " icc" , " ifort" , " ifort-builtin" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
405
+ tests = [" Julia" , " Clang" , " GFortran" , " GFortran-builtin" , " icc" , " ifort" , " ifort-builtin" , " g++ & Eigen-3" , " icpc & Eigen-3" , " LoopVectorization" ]
406
406
br = BenchmarkResult (tests, sizes)
407
407
sm = br. sizedresults. results
408
408
pmap (is -> AplusAt_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -429,7 +429,7 @@ function randomaccess_bench!(br, s, i)
429
429
@assert p ≈ randomaccessavx (P, basis, coefs) " LoopVec wrong?"
430
430
end
431
431
function benchmark_random_access (sizes)
432
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
432
+ tests = [" Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
433
433
br = BenchmarkResult (tests, sizes)
434
434
sm = br. sizedresults. results
435
435
pmap (is -> randomaccess_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -456,7 +456,7 @@ function logdettriangle_bench!(br, s, i)
456
456
@assert ld ≈ jlogdettriangleavx (U) " LoopVec wrong?"
457
457
end
458
458
function benchmark_logdettriangle (sizes)
459
- tests = [" Julia-builtin" , " Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
459
+ tests = [" Julia-builtin" , " Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
460
460
br = BenchmarkResult (tests, sizes)
461
461
sm = br. sizedresults. results
462
462
pmap (is -> logdettriangle_bench! (sm, is[2 ], is[1 ]), enumerate (sizes))
@@ -483,7 +483,7 @@ function filter2d_bench_run!(br, s, i, K)
483
483
@assert B ≈ Bcopy " LoopVec wrong?"
484
484
end
485
485
function benchmark_filter2d (sizes, K)
486
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
486
+ tests = [" Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
487
487
br = BenchmarkResult (tests, sizes)
488
488
sm = br. sizedresults. results
489
489
pmap (is -> filter2d_bench_run! (sm, is[2 ], is[1 ], K), enumerate (sizes))
@@ -518,7 +518,7 @@ function filter2dunrolled_bench_run!(br, s, i, K)
518
518
@assert B ≈ Bcopy " LoopVec wrong?"
519
519
end
520
520
function benchmark_filter2dunrolled (sizes)
521
- tests = [" Julia" , " Clang-Polly " , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
521
+ tests = [" Julia" , " Clang" , " GFortran" , " icc" , " ifort" , " LoopVectorization" ]
522
522
br = BenchmarkResult (tests, sizes)
523
523
sm = br. sizedresults. results
524
524
K = SizedOffsetMatrix {Float64,-1,1,-1,1} (rand (3 ,3 ))
0 commit comments