1
+ println (stdout , " Opening Script" )
1
2
using Pkg
2
3
Pkg. activate (" ." )
3
4
Pkg. instantiate ()
@@ -7,6 +8,7 @@ using SparseArrays
7
8
using LinearAlgebra
8
9
using StorageOrders
9
10
using StatsBase
11
+ println (stdout , " Loaded Packages" )
10
12
11
13
macro gbbench (ex)
12
14
return quote
@@ -76,39 +78,44 @@ function runthreadedidx(C, A, I, J)
76
78
end
77
79
78
80
function singlebench (szC, szA)
81
+ gbresultsR = [0.0 , 0.0 , 0.0 ]
82
+ gbresultsC = [0.0 , 0.0 , 0.0 ]
83
+ SAresults = 0.0
79
84
printstyled (stdout , " \n C($szC )[I, J] = A($szA ))\n " ; bold= true )
80
85
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 )
87
93
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
100
107
println (stdout , )
101
- printstyled (stdout , " \n RESULTS, C[I, J] = A: \n " ; bold= true , color= :green )
108
+ printstyled (stdout , " \n RESULTS, C( $szC ) [I, J] = A( $szA ) : \n " ; bold= true , color= :green )
102
109
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 ) " )
106
113
flush (stdout )
107
114
return nothing
108
115
end
109
116
110
117
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))
112
119
# singlebench((25_000_000, 25_000_000, 1e-7), (5_000, 5_000, 0.002))
113
120
# singlebench((50_000_000, 50_000_000, 1e-7), (100_000, 100_000, 0.001))
114
121
#
0 commit comments