1
- using BenchmarkTools
1
+ using BenchmarkTools, Random
2
2
using LinearAlgebra, RecursiveFactorization
3
3
4
4
BenchmarkTools. DEFAULT_PARAMETERS. seconds = 0.5
@@ -24,7 +24,8 @@ ref_mflops = Float64[]
24
24
ns = 4 : 8 : 500
25
25
for n in ns
26
26
@info " $n × $n "
27
- global A = rand (n, n)
27
+ rng = MersenneTwister (123 )
28
+ global A = rand (rng, n, n)
28
29
bt = @belapsed LinearAlgebra. lu! (B) setup= (B = copy (A))
29
30
push! (bas_mflops, luflop (n)/ bt/ 1e9 )
30
31
44
45
using DataFrames, VegaLite
45
46
blaslib = BLAS. vendor () === :mkl ? :MKL : :OpenBLAS
46
47
df = DataFrame (Size = ns,
47
- RecursiveFactorization = rec_mflops,
48
- RecursiveFactorization4 = rec4_mflops,
49
- RecursiveFactorization800 = rec800_mflops,
50
48
Reference = ref_mflops)
51
49
setproperty! (df, blaslib, bas_mflops)
52
- df = stack (df, [:RecursiveFactorization ,
53
- :RecursiveFactorization4 ,
54
- :RecursiveFactorization800 ,
50
+ setproperty! (df, Symbol (" RecursiveFactorization with default recursion threshold" ), rec_mflops)
51
+ setproperty! (df, Symbol (" RecursiveFactorization fully recursive" ), rec4_mflops)
52
+ setproperty! (df, Symbol (" RecursiveFactorization fully iterative" ), rec800_mflops)
53
+ df = stack (df, [Symbol (" RecursiveFactorization with default recursion threshold" ),
54
+ Symbol (" RecursiveFactorization fully recursive" ),
55
+ Symbol (" RecursiveFactorization fully iterative" ),
55
56
blaslib,
56
57
:Reference ], variable_name = :Library , value_name = :GFLOPS )
57
58
plt = df |> @vlplot (
0 commit comments