1
- import numpy as np
1
+ mport numpy as np
2
2
from scipy .sparse import random , csr_matrix
3
3
import sparse
4
4
import pytest
5
5
import os
6
- from util import MinMaxPydataSparseTensorLoader
6
+ from util import MinMaxPydataSparseTensorLoader , MinMaxScipySparseTensorLoader
7
7
8
8
@pytest .mark .parametrize ("dims" , [1 , 3 , 5 ])
9
9
def bench_pydata_minmax (tacoBench , dims ):
10
10
loader = MinMaxPydataSparseTensorLoader ()
11
11
dims_list = [20 ] + [20 ] + [43 for ele in range (dims )]
12
- #FIXME: loader.random is always between 0 and 1, need to be larger. multiply by some value and then store to tns file
13
- #TODO: matrix shouldn't be completely random. it should have blocks of dense values (to simulate pruning)
14
- # and not just sparse uniform sampling
15
12
16
13
matrix = loader .tensor (dims_list )
17
14
extra_info = dict ()
@@ -26,6 +23,24 @@ def bench():
26
23
return reduced
27
24
tacoBench (bench , extra_info , True )
28
25
26
+ @pytest .mark .parametrize ("dims" , [1 , 3 , 5 ])
27
+ def bench_scipy_minmax (tacoBench , dims ):
28
+ loader = MinMaxScipySparseTensorLoader ()
29
+ dims_list = [20 ] + [20 ] + [43 for ele in range (dims )]
30
+
31
+ matrix = loader .tensor (dims_list )
32
+ extra_info = dict ()
33
+ extra_info ["nnz" ] = matrix .nnz
34
+ def bench ():
35
+ reduced = matrix
36
+ for m in range (len (dims_list )):
37
+ if m % 2 == 0 :
38
+ reduced = reduced .min (- 1 )
39
+ else :
40
+ reduced = reduced .max (- 1 )
41
+ return reduced
42
+ tacoBench (bench , extra_info , True )
43
+
29
44
@pytest .mark .skip (reason = "Only to get matrix statistics" )
30
45
@pytest .mark .parametrize ("dims" , [1 , 3 , 5 ])
31
46
def bench_minmax_statistics (tacoBench , dims ):
0 commit comments