@@ -93,9 +93,11 @@ def svd_cupy(arr):
93
93
cupy .cuda .runtime .deviceSynchronize ()
94
94
return x
95
95
96
+
96
97
def svd_cupynumeric (arr ):
97
98
return cupynumeric .linalg .svd (arr )
98
99
100
+
99
101
def qr_np (arr ):
100
102
return np .linalg .qr (arr )
101
103
@@ -117,9 +119,11 @@ def qr_cupy(arr):
117
119
cupy .cuda .runtime .deviceSynchronize ()
118
120
return x
119
121
122
+
120
123
def qr_cupynumeric (arr ):
121
124
return cupynumeric .linalg .qr (arr )
122
125
126
+
123
127
def cholesky_np (arr ):
124
128
return np .linalg .cholesky (arr )
125
129
@@ -140,6 +144,7 @@ def cholesky_cupy(arr):
140
144
cupy .cuda .runtime .deviceSynchronize ()
141
145
return x
142
146
147
+
143
148
def cholesky_cupynumeric (arr ):
144
149
return cupynumeric .linalg .cholesky (arr )
145
150
@@ -164,9 +169,11 @@ def inv_cupy(arr):
164
169
cupy .cuda .runtime .deviceSynchronize ()
165
170
return x
166
171
172
+
167
173
def inv_cupynumeric (arr ):
168
174
return cupynumeric .linalg .inv (arr )
169
175
176
+
170
177
def det_np (arr ):
171
178
return np .linalg .det (arr )
172
179
@@ -186,9 +193,11 @@ def det_cupy(arr):
186
193
cupy .cuda .runtime .deviceSynchronize ()
187
194
return x
188
195
196
+
189
197
def det_cupynumeric (arr ):
190
198
return cupynumeric .linalg .det (arr )
191
199
200
+
192
201
def norm_np (arr ):
193
202
return np .linalg .norm (arr )
194
203
@@ -208,9 +217,11 @@ def norm_cupy(arr):
208
217
cupy .cuda .runtime .deviceSynchronize ()
209
218
return x
210
219
220
+
211
221
def norm_cupynumeric (arr ):
212
222
return cupynumeric .linalg .norm (arr )
213
223
224
+
214
225
@pytest .mark .parametrize ("pkgid" , IDS , ids = IDS )
215
226
class TestLinalg :
216
227
def test_cholesky (self , benchmark , pkgid ):
@@ -220,8 +231,13 @@ def test_cholesky(self, benchmark, pkgid):
220
231
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
221
232
pkg = PKGDICT [pkgid ]
222
233
223
- CHOLESKY_FUNCS = {"numpy" : cholesky_np , "cupy" : cholesky_cupy , "arrayfire" : cholesky_af , "dpnp" : cholesky_dpnp ,
224
- "cupynumeric" : cholesky_cupynumeric }
234
+ CHOLESKY_FUNCS = {
235
+ "numpy" : cholesky_np ,
236
+ "cupy" : cholesky_cupy ,
237
+ "arrayfire" : cholesky_af ,
238
+ "dpnp" : cholesky_dpnp ,
239
+ "cupynumeric" : cholesky_cupynumeric ,
240
+ }
225
241
result = benchmark .pedantic (
226
242
target = CHOLESKY_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS
227
243
)
@@ -233,8 +249,13 @@ def test_svd(self, benchmark, pkgid):
233
249
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
234
250
pkg = PKGDICT [pkgid ]
235
251
236
- SVD_FUNCS = {"numpy" : svd_np , "cupy" : svd_cupy , "arrayfire" : svd_af , "dpnp" : svd_dpnp ,
237
- "cupynumeric" : svd_cupynumeric }
252
+ SVD_FUNCS = {
253
+ "numpy" : svd_np ,
254
+ "cupy" : svd_cupy ,
255
+ "arrayfire" : svd_af ,
256
+ "dpnp" : svd_dpnp ,
257
+ "cupynumeric" : svd_cupynumeric ,
258
+ }
238
259
result = benchmark .pedantic (target = SVD_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS )
239
260
240
261
def test_qr (self , benchmark , pkgid ):
@@ -244,8 +265,13 @@ def test_qr(self, benchmark, pkgid):
244
265
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
245
266
pkg = PKGDICT [pkgid ]
246
267
247
- QR_FUNCS = {"numpy" : qr_np , "cupy" : qr_cupy , "arrayfire" : qr_af , "dpnp" : qr_dpnp ,
248
- "cupynumeric" : qr_cupynumeric }
268
+ QR_FUNCS = {
269
+ "numpy" : qr_np ,
270
+ "cupy" : qr_cupy ,
271
+ "arrayfire" : qr_af ,
272
+ "dpnp" : qr_dpnp ,
273
+ "cupynumeric" : qr_cupynumeric ,
274
+ }
249
275
result = benchmark .pedantic (target = QR_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS )
250
276
251
277
def test_inv (self , benchmark , pkgid ):
@@ -255,8 +281,13 @@ def test_inv(self, benchmark, pkgid):
255
281
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
256
282
pkg = PKGDICT [pkgid ]
257
283
258
- INV_FUNCS = {"numpy" : inv_np , "cupy" : inv_cupy , "arrayfire" : inv_af , "dpnp" : inv_dpnp ,
259
- "cupynumeric" : inv_cupynumeric }
284
+ INV_FUNCS = {
285
+ "numpy" : inv_np ,
286
+ "cupy" : inv_cupy ,
287
+ "arrayfire" : inv_af ,
288
+ "dpnp" : inv_dpnp ,
289
+ "cupynumeric" : inv_cupynumeric ,
290
+ }
260
291
result = benchmark .pedantic (target = INV_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS )
261
292
262
293
def test_det (self , benchmark , pkgid ):
@@ -266,8 +297,13 @@ def test_det(self, benchmark, pkgid):
266
297
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
267
298
pkg = PKGDICT [pkgid ]
268
299
269
- DET_FUNCS = {"numpy" : det_np , "cupy" : det_cupy , "arrayfire" : det_af , "dpnp" : det_dpnp ,
270
- "cupynumeric" : det_cupynumeric }
300
+ DET_FUNCS = {
301
+ "numpy" : det_np ,
302
+ "cupy" : det_cupy ,
303
+ "arrayfire" : det_af ,
304
+ "dpnp" : det_dpnp ,
305
+ "cupynumeric" : det_cupynumeric ,
306
+ }
271
307
result = benchmark .pedantic (target = DET_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS )
272
308
273
309
def test_norm (self , benchmark , pkgid ):
@@ -277,6 +313,11 @@ def test_norm(self, benchmark, pkgid):
277
313
benchmark .extra_info ["description" ] = f"{ NSIZE } x{ NSIZE } Matrix"
278
314
pkg = PKGDICT [pkgid ]
279
315
280
- NORM_FUNCS = {"numpy" : norm_np , "cupy" : norm_cupy , "arrayfire" : norm_af , "dpnp" : norm_dpnp ,
281
- "cupynumeric" : norm_cupynumeric }
316
+ NORM_FUNCS = {
317
+ "numpy" : norm_np ,
318
+ "cupy" : norm_cupy ,
319
+ "arrayfire" : norm_af ,
320
+ "dpnp" : norm_dpnp ,
321
+ "cupynumeric" : norm_cupynumeric ,
322
+ }
282
323
result = benchmark .pedantic (target = NORM_FUNCS [pkg .__name__ ], setup = setup , rounds = ROUNDS , iterations = ITERATIONS )
0 commit comments