Skip to content

Commit e4f7f56

Browse files
author
Will Kimmerer
committed
update bench script
1 parent cb93478 commit e4f7f56

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

benchmarks/bench_subassign.jl

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
println(stdout, "Opening Script")
12
using Pkg
23
Pkg.activate(".")
34
Pkg.instantiate()
@@ -7,6 +8,7 @@ using SparseArrays
78
using LinearAlgebra
89
using StorageOrders
910
using StatsBase
11+
println(stdout, "Loaded Packages")
1012

1113
macro gbbench(ex)
1214
return quote
@@ -76,39 +78,44 @@ function runthreadedidx(C, A, I, J)
7678
end
7779

7880
function singlebench(szC, szA)
81+
gbresultsR = [0.0, 0.0, 0.0]
82+
gbresultsC = [0.0, 0.0, 0.0]
83+
SAresults = 0.0
7984
printstyled(stdout, "\nC($szC)[I, J] = A($szA))\n"; bold=true)
8085
println(stdout, "################################")
81-
C = SuiteSparseGraphBLAS.gbrand(Float64, szC[1:2]..., szC[3])
82-
A = SuiteSparseGraphBLAS.gbrand(Float64, szA[1:2]..., szA[3])
83-
wait(C)
84-
wait(A)
85-
I = sample(1:size(C, 1), size(A, 1), replace = false)
86-
J = sample(1:size(C, 2), size(A, 2), replace = false)
86+
for i 1:10
87+
C = SuiteSparseGraphBLAS.gbrand(Float64, szC[1:2]..., szC[3])
88+
A = SuiteSparseGraphBLAS.gbrand(Float64, szA[1:2]..., szA[3])
89+
wait(C)
90+
wait(A)
91+
I = sample(1:size(C, 1), size(A, 1), replace = false)
92+
J = sample(1:size(C, 2), size(A, 2), replace = false)
8793

88-
flush(stdout)
89-
gbset(A, :format, SuiteSparseGraphBLAS.BYROW)
90-
gbset(C, :format, SuiteSparseGraphBLAS.BYROW)
91-
SuiteSparseGraphBLAS.wait(A)
92-
gbresultsR = runthreadedidx(C, A, I, J)
93-
gbset(A, :format, SuiteSparseGraphBLAS.BYCOL)
94-
gbset(C, :format, SuiteSparseGraphBLAS.BYCOL)
95-
SuiteSparseGraphBLAS.wait(A)
96-
gbresultsC = runthreadedidx(C, A, I, J)
97-
A = SparseMatrixCSC(A)
98-
C = SparseMatrixCSC(C)
99-
SAresults = idx(C, A, I, J)
94+
flush(stdout)
95+
gbset(A, :format, SuiteSparseGraphBLAS.BYROW)
96+
gbset(C, :format, SuiteSparseGraphBLAS.BYROW)
97+
SuiteSparseGraphBLAS.wait(A)
98+
gbresultsR .+= runthreadedidx(C, A, I, J)
99+
gbset(A, :format, SuiteSparseGraphBLAS.BYCOL)
100+
gbset(C, :format, SuiteSparseGraphBLAS.BYCOL)
101+
SuiteSparseGraphBLAS.wait(A)
102+
gbresultsC .+= runthreadedidx(C, A, I, J)
103+
A = SparseMatrixCSC(A)
104+
C = SparseMatrixCSC(C)
105+
SAresults += idx(C, A, I, J)
106+
end
100107
println(stdout, )
101-
printstyled(stdout, "\nRESULTS, C[I, J] = A: \n"; bold=true, color=:green)
108+
printstyled(stdout, "\nRESULTS, C($szC)[I, J] = A($szA): \n"; bold=true, color=:green)
102109
println(stdout, "################################")
103-
println(stdout, "A by row (1, 2, 16 thread): $gbresultsR")
104-
println(stdout, "A by col (1, 2, 16 thread): $gbresultsC")
105-
println(stdout, "SparseArrays: $SAresults")
110+
println(stdout, "A by row (1, 2, 16 thread): $(gbresultsR ./ 30)")
111+
println(stdout, "A by col (1, 2, 16 thread): $(gbresultsC ./ 30)")
112+
println(stdout, "SparseArrays: $(SAresults / 30)")
106113
flush(stdout)
107114
return nothing
108115
end
109116

110117
singlebench((10_000, 10_000, 0.001), (2_000, 2_000, 0.1))
111-
singlebench((1_000_000, 1_000_000, 0.01), (5_000, 5_000, 0.005))
118+
#singlebench((1_000_000, 1_000_000, 0.01), (5_000, 5_000, 0.005))
112119
#singlebench((25_000_000, 25_000_000, 1e-7), (5_000, 5_000, 0.002))
113120
#singlebench((50_000_000, 50_000_000, 1e-7), (100_000, 100_000, 0.001))
114121
#

0 commit comments

Comments
 (0)