1- using BenchmarkTools
1+ using BenchmarkTools, Random
22using LinearAlgebra, RecursiveFactorization
33
44BenchmarkTools. DEFAULT_PARAMETERS. seconds = 0.5
@@ -24,7 +24,8 @@ ref_mflops = Float64[]
2424ns = 4 : 8 : 500
2525for n in ns
2626 @info " $n × $n "
27- global A = rand (n, n)
27+ rng = MersenneTwister (123 )
28+ global A = rand (rng, n, n)
2829 bt = @belapsed LinearAlgebra. lu! (B) setup= (B = copy (A))
2930 push! (bas_mflops, luflop (n)/ bt/ 1e9 )
3031
4445using DataFrames, VegaLite
4546blaslib = BLAS. vendor () === :mkl ? :MKL : :OpenBLAS
4647df = DataFrame (Size = ns,
47- RecursiveFactorization = rec_mflops,
48- RecursiveFactorization4 = rec4_mflops,
49- RecursiveFactorization800 = rec800_mflops,
5048 Reference = ref_mflops)
5149setproperty! (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" ),
5556 blaslib,
5657 :Reference ], variable_name = :Library , value_name = :GFLOPS )
5758plt = df |> @vlplot (
0 commit comments