1+ println (stdout , " Opening Script" )
12using Pkg
23Pkg. activate (" ." )
34Pkg. instantiate ()
@@ -7,6 +8,7 @@ using SparseArrays
78using LinearAlgebra
89using StorageOrders
910using StatsBase
11+ println (stdout , " Loaded Packages" )
1012
1113macro gbbench (ex)
1214 return quote
@@ -76,39 +78,44 @@ function runthreadedidx(C, A, I, J)
7678end
7779
7880function 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 , " \n C($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 , " \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 )
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
108115end
109116
110117singlebench ((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