Skip to content

Commit 0b13117

Browse files
committed
ENH: add ?gbmv benchmark
1 parent 7ffe1c5 commit 0b13117

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

benchmarks/benchmarks.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ def time_axpy(self, n, variant):
9595

9696
# ### BLAS level 2 ###
9797

98+
# gemv
99+
98100
gemv_sizes = [100, 200, 400, 600, 800, 1000]
99101

100102
def run_gemv(a, x, y, func):
@@ -120,6 +122,37 @@ def time_gemv(self, n, variant):
120122
run_gemv(self.a, self.x, self.y, self.gemv)
121123

122124

125+
# gbmv
126+
127+
gbmv_sizes = [100, 200, 400, 600, 800, 1000]
128+
129+
def run_gbmv(m, n, kl, ku, a, x, y, func):
130+
res = func(m, n, kl, ku, 1.0, a, x, y=y, overwrite_y=True)
131+
return res
132+
133+
134+
class gbmv:
135+
params = [gbmv_sizes, ['s', 'd', 'c', 'z'], [1, 2, 3]]
136+
param_names = ["size", "variant", "kl"]
137+
138+
def setup(self, n, variant, kl):
139+
rndm = np.random.RandomState(1234)
140+
dtyp = dtype_map[variant]
141+
142+
self.x = np.array(rndm.uniform(size=(n,)), dtype=dtyp)
143+
self.y = np.empty(n, dtype=dtyp)
144+
145+
self.m = n
146+
147+
a = rndm.uniform(size=(2*kl + 1, n))
148+
self.a = np.array(a, dtype=dtyp, order='F')
149+
150+
self.gbmv = ow.get_func('gbmv', variant)
151+
152+
def time_gbmv(self, n, variant, kl):
153+
run_gbmv(self.m, n, kl, kl, self.a, self.x, self.y, self.gbmv)
154+
155+
123156
# ### BLAS level 3 ###
124157

125158
# gemm

0 commit comments

Comments
 (0)