Skip to content

Commit b6204a0

Browse files
densmirnoleksandr-pavlyk
authored andcommitted
Add copy_when_nondefault_queue=False to call of get_dpnp_descriptor
1 parent 2b12021 commit b6204a0

13 files changed

+130
-128
lines changed

dpnp/dpnp_algo/dpnp_algo_manipulation.pyx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ cpdef utils.dpnp_descriptor dpnp_reshape(utils.dpnp_descriptor array1, newshape,
227227
order=order,
228228
device=array1_obj.sycl_device,
229229
usm_type=array1_obj.usm_type,
230-
sycl_queue=array1_obj.sycl_queue))
230+
sycl_queue=array1_obj.sycl_queue),
231+
copy_when_nondefault_queue=False)
231232

232233

233234
cpdef utils.dpnp_descriptor dpnp_transpose(utils.dpnp_descriptor array1, axes=None):

dpnp/dpnp_algo/dpnp_algo_statistics.pyx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,8 @@ cpdef utils.dpnp_descriptor dpnp_min(utils.dpnp_descriptor x1, axis):
570570

571571
cpdef utils.dpnp_descriptor dpnp_nanvar(utils.dpnp_descriptor arr, ddof):
572572
# dpnp_isnan does not support USM array as input in comparison to dpnp.isnan
573-
cdef utils.dpnp_descriptor mask_arr = dpnp.get_dpnp_descriptor(dpnp.isnan(arr.get_pyobj()))
573+
cdef utils.dpnp_descriptor mask_arr = dpnp.get_dpnp_descriptor(dpnp.isnan(arr.get_pyobj()),
574+
copy_when_nondefault_queue=False)
574575
n = dpnp.count_nonzero(mask_arr.get_pyobj())
575576
res_size = int(arr.size - n)
576577
cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(arr.dtype)

dpnp/dpnp_iface_arraycreation.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ def diag(x1, k=0):
431431
432432
"""
433433

434-
x1_desc = dpnp.get_dpnp_descriptor(x1)
434+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
435435
if x1_desc:
436436
if not isinstance(k, int):
437437
pass
@@ -465,10 +465,10 @@ def diagflat(x1, k=0):
465465
466466
"""
467467

468-
x1_desc = dpnp.get_dpnp_descriptor(x1)
468+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
469469
if x1_desc:
470470
input_ravel = dpnp.ravel(x1)
471-
input_ravel_desc = dpnp.get_dpnp_descriptor(input_ravel)
471+
input_ravel_desc = dpnp.get_dpnp_descriptor(input_ravel, copy_when_nondefault_queue=False)
472472

473473
return dpnp_diag(input_ravel_desc, k).get_pyobj()
474474

@@ -1138,7 +1138,7 @@ def ones_like(x1, dtype=None, order='C', subok=False, shape=None):
11381138
11391139
"""
11401140

1141-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1141+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
11421142
if x1_desc:
11431143
if order not in ('C', 'c', None):
11441144
pass
@@ -1164,7 +1164,7 @@ def ptp(arr, axis=None, out=None, keepdims=numpy._NoValue):
11641164
Input array is supported as :obj:`dpnp.ndarray`.
11651165
Parameters ``out`` and ``keepdims`` are supported only with default values.
11661166
"""
1167-
arr_desc = dpnp.get_dpnp_descriptor(arr)
1167+
arr_desc = dpnp.get_dpnp_descriptor(arr, copy_when_nondefault_queue=False)
11681168
if not arr_desc:
11691169
pass
11701170
elif axis is not None and not isinstance(axis, int):
@@ -1194,7 +1194,7 @@ def trace(x1, offset=0, axis1=0, axis2=1, dtype=None, out=None):
11941194
Parameters ``axis1``, ``axis2``, ``out`` and ``dtype`` are supported only with default values.
11951195
"""
11961196

1197-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1197+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
11981198
if x1_desc:
11991199
if x1_desc.size == 0:
12001200
pass
@@ -1271,7 +1271,7 @@ def tril(x1, k=0):
12711271
12721272
"""
12731273

1274-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1274+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
12751275
if x1_desc:
12761276
if not isinstance(k, int):
12771277
pass
@@ -1301,7 +1301,7 @@ def triu(x1, k=0):
13011301
13021302
"""
13031303

1304-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1304+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
13051305
if x1_desc:
13061306
if not isinstance(k, int):
13071307
pass
@@ -1340,7 +1340,7 @@ def vander(x1, N=None, increasing=False):
13401340
[ 1, 5, 25, 125]])
13411341
"""
13421342

1343-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1343+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
13441344
if x1_desc:
13451345
if x1.ndim != 1:
13461346
pass
@@ -1425,7 +1425,7 @@ def zeros_like(x1, dtype=None, order='C', subok=False, shape=None):
14251425
14261426
"""
14271427

1428-
x1_desc = dpnp.get_dpnp_descriptor(x1)
1428+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
14291429
if x1_desc:
14301430
if order not in ('C', 'c', None):
14311431
pass

dpnp/dpnp_iface_bitwise.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ def _check_nd_call(origin_func, dpnp_func, x1, x2, dtype=None, out=None, where=T
6363

6464
x1_is_scalar = dpnp.isscalar(x1)
6565
x2_is_scalar = dpnp.isscalar(x2)
66-
x1_desc = dpnp.get_dpnp_descriptor(x1)
67-
x2_desc = dpnp.get_dpnp_descriptor(x2)
68-
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False)
69-
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_strides=False)
66+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
67+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
68+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False, copy_when_nondefault_queue=False)
69+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_strides=False, copy_when_nondefault_queue=False)
7070

7171
if x1_desc and x2_desc and not kwargs:
7272
if not x1_desc and not x1_is_scalar:
@@ -90,7 +90,7 @@ def _check_nd_call(origin_func, dpnp_func, x1, x2, dtype=None, out=None, where=T
9090
elif not where:
9191
pass
9292
else:
93-
out_desc = dpnp.get_dpnp_descriptor(out) if out is not None else None
93+
out_desc = dpnp.get_dpnp_descriptor(out, copy_when_nondefault_queue=False) if out is not None else None
9494
return dpnp_func(x1_desc, x2_desc, dtype, out_desc, where).get_pyobj()
9595

9696
return call_origin(origin_func, x1, x2, dtype=dtype, out=out, where=where, **kwargs)
@@ -228,7 +228,7 @@ def invert(x, **kwargs):
228228
229229
"""
230230

231-
x1_desc = dpnp.get_dpnp_descriptor(x)
231+
x1_desc = dpnp.get_dpnp_descriptor(x, copy_when_nondefault_queue=False)
232232
if x1_desc and not kwargs:
233233
return dpnp_invert(x1_desc).get_pyobj()
234234

dpnp/dpnp_iface_counting.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def count_nonzero(x1, axis=None, *, keepdims=False):
7575
5
7676
7777
"""
78-
x1_desc = dpnp.get_dpnp_descriptor(x1)
78+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
7979
if x1_desc:
8080
if axis is not None:
8181
pass

dpnp/dpnp_iface_indexing.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ def choose(x1, choices, out=None, mode='raise'):
8181
--------
8282
:obj:`take_along_axis` : Preferable if choices is an array.
8383
"""
84-
x1_desc = dpnp.get_dpnp_descriptor(x1)
84+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
8585

8686
choices_list = []
8787
for choice in choices:
88-
choices_list.append(dpnp.get_dpnp_descriptor(choice))
88+
choices_list.append(dpnp.get_dpnp_descriptor(choice, copy_when_nondefault_queue=False))
8989

9090
if x1_desc:
9191
if any(not desc for desc in choices_list):
@@ -186,7 +186,7 @@ def diag_indices_from(x1):
186186
187187
"""
188188

189-
x1_desc = dpnp.get_dpnp_descriptor(x1)
189+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
190190
if x1_desc:
191191
# original limitation
192192
if not x1_desc.ndim >= 2:
@@ -216,7 +216,7 @@ def diagonal(x1, offset=0, axis1=0, axis2=1):
216216
Otherwise the function will be executed sequentially on CPU.
217217
"""
218218

219-
x1_desc = dpnp.get_dpnp_descriptor(x1)
219+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
220220
if x1_desc:
221221
if not isinstance(offset, int):
222222
pass
@@ -248,7 +248,7 @@ def fill_diagonal(x1, val, wrap=False):
248248
:obj:`dpnp.diag_indices_from` : Return the indices to access the main diagonal of an n-dimensional array.
249249
"""
250250

251-
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False)
251+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False, copy_when_nondefault_queue=False)
252252
if x1_desc:
253253
if not dpnp.isscalar(val):
254254
pass
@@ -329,7 +329,7 @@ def nonzero(x1):
329329
330330
"""
331331

332-
x1_desc = dpnp.get_dpnp_descriptor(x1)
332+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
333333
if x1_desc:
334334
return dpnp_nonzero(x1_desc)
335335

@@ -347,9 +347,9 @@ def place(x1, mask, vals):
347347
Parameter ``vals`` is supported as 1-D sequence.
348348
"""
349349

350-
x1_desc = dpnp.get_dpnp_descriptor(x1)
351-
mask_desc = dpnp.get_dpnp_descriptor(mask)
352-
vals_desc = dpnp.get_dpnp_descriptor(vals)
350+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
351+
mask_desc = dpnp.get_dpnp_descriptor(mask, copy_when_nondefault_queue=False)
352+
vals_desc = dpnp.get_dpnp_descriptor(vals, copy_when_nondefault_queue=False)
353353
if x1_desc and mask_desc and vals_desc:
354354
return dpnp_place(x1_desc, mask, vals_desc)
355355

@@ -367,7 +367,7 @@ def put(x1, ind, v, mode='raise'):
367367
Not supported parameter mode.
368368
"""
369369

370-
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False)
370+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False, copy_when_nondefault_queue=False)
371371
if x1_desc:
372372
if mode != 'raise':
373373
pass
@@ -391,9 +391,9 @@ def put_along_axis(x1, indices, values, axis):
391391
:obj:`take_along_axis` : Take values from the input array by matching 1d index and data slices.
392392
"""
393393

394-
x1_desc = dpnp.get_dpnp_descriptor(x1)
395-
indices_desc = dpnp.get_dpnp_descriptor(indices)
396-
values_desc = dpnp.get_dpnp_descriptor(values)
394+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
395+
indices_desc = dpnp.get_dpnp_descriptor(indices, copy_when_nondefault_queue=False)
396+
values_desc = dpnp.get_dpnp_descriptor(values, copy_when_nondefault_queue=False)
397397
if x1_desc and indices_desc and values_desc:
398398
if x1_desc.ndim != indices_desc.ndim:
399399
pass
@@ -419,9 +419,9 @@ def putmask(x1, mask, values):
419419
Input arrays ``arr``, ``mask`` and ``values`` are supported as :obj:`dpnp.ndarray`.
420420
"""
421421

422-
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False)
423-
mask_desc = dpnp.get_dpnp_descriptor(mask)
424-
values_desc = dpnp.get_dpnp_descriptor(values)
422+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False, copy_when_nondefault_queue=False)
423+
mask_desc = dpnp.get_dpnp_descriptor(mask, copy_when_nondefault_queue=False)
424+
values_desc = dpnp.get_dpnp_descriptor(values, copy_when_nondefault_queue=False)
425425
if x1_desc and mask_desc and values_desc:
426426
return dpnp_putmask(x1_desc, mask_desc, values_desc)
427427

@@ -477,8 +477,8 @@ def take(x1, indices, axis=None, out=None, mode='raise'):
477477
:obj:`take_along_axis` : Take elements by matching the array and the index arrays.
478478
"""
479479

480-
x1_desc = dpnp.get_dpnp_descriptor(x1)
481-
indices_desc = dpnp.get_dpnp_descriptor(indices)
480+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
481+
indices_desc = dpnp.get_dpnp_descriptor(indices, copy_when_nondefault_queue=False)
482482
if x1_desc and indices_desc:
483483
if axis is not None:
484484
pass
@@ -503,8 +503,8 @@ def take_along_axis(x1, indices, axis):
503503
:obj:`put_along_axis` : Put values into the destination array by matching 1d index and data slices.
504504
"""
505505

506-
x1_desc = dpnp.get_dpnp_descriptor(x1)
507-
indices_desc = dpnp.get_dpnp_descriptor(indices)
506+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
507+
indices_desc = dpnp.get_dpnp_descriptor(indices, copy_when_nondefault_queue=False)
508508
if x1_desc and indices_desc:
509509
if x1_desc.ndim != indices_desc.ndim:
510510
pass
@@ -578,7 +578,7 @@ def tril_indices_from(x1, k=0):
578578
Diagonal offset (see `tril` for details).
579579
"""
580580

581-
x1_desc = dpnp.get_dpnp_descriptor(x1)
581+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
582582
if x1_desc:
583583
if isinstance(k, int):
584584
return dpnp_tril_indices_from(x1_desc, k)
@@ -635,7 +635,7 @@ def triu_indices_from(x1, k=0):
635635
Diagonal offset (see `tril` for details).
636636
"""
637637

638-
x1_desc = dpnp.get_dpnp_descriptor(x1)
638+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
639639
if x1_desc:
640640
if isinstance(k, int):
641641
return dpnp_triu_indices_from(x1_desc, k)

dpnp/dpnp_iface_linearalgebra.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def dot(x1, x2, **kwargs):
9191
9292
"""
9393

94-
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False)
95-
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_strides=False)
94+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_strides=False, copy_when_nondefault_queue=False)
95+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_strides=False, copy_when_nondefault_queue=False)
9696
if x1_desc and x2_desc and not kwargs:
9797
# TODO: remove fallback with scalars when muliply backend func will support strides
9898
if(x1_desc.ndim == 0 and x2_desc.strides is not None
@@ -183,8 +183,8 @@ def inner(x1, x2, **kwargs):
183183
184184
"""
185185

186-
x1_desc = dpnp.get_dpnp_descriptor(x1)
187-
x2_desc = dpnp.get_dpnp_descriptor(x2)
186+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
187+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
188188
if x1_desc and x2_desc and not kwargs:
189189
return dpnp_inner(x1_desc, x2_desc).get_pyobj()
190190

@@ -201,8 +201,8 @@ def kron(x1, x2):
201201
202202
"""
203203

204-
x1_desc = dpnp.get_dpnp_descriptor(x1)
205-
x2_desc = dpnp.get_dpnp_descriptor(x2)
204+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
205+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
206206
if x1_desc and x2_desc:
207207
return dpnp_kron(x1_desc, x2_desc).get_pyobj()
208208

@@ -277,7 +277,7 @@ def matmul(x1, x2, out=None, **kwargs):
277277
if (array1_size > cost_size) and (array2_size > cost_size):
278278
return dpnp_matmul(x1_desc, x2_desc, out)
279279
else:
280-
out_desc = dpnp.get_dpnp_descriptor(out) if out is not None else None
280+
out_desc = dpnp.get_dpnp_descriptor(out, copy_when_nondefault_queue=False) if out is not None else None
281281
return dpnp_matmul(x1_desc, x2_desc, out_desc).get_pyobj()
282282

283283
return call_origin(numpy.matmul, x1, x2, out=out, **kwargs)
@@ -312,8 +312,8 @@ def outer(x1, x2, **kwargs):
312312
313313
"""
314314

315-
x1_desc = dpnp.get_dpnp_descriptor(x1)
316-
x2_desc = dpnp.get_dpnp_descriptor(x2)
315+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
316+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
317317
if x1_desc and x2_desc and not kwargs:
318318
return dpnp_outer(x1_desc, x2_desc).get_pyobj()
319319

@@ -350,8 +350,8 @@ def tensordot(x1, x2, axes=2):
350350
351351
"""
352352

353-
x1_desc = dpnp.get_dpnp_descriptor(x1)
354-
x2_desc = dpnp.get_dpnp_descriptor(x2)
353+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
354+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
355355
if x1_desc and x2_desc and (axes == 1):
356356
return dpnp_tensordot_not_implemented(x1_desc, x2_desc) # dpnp_matmul
357357

dpnp/dpnp_iface_logic.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def all(x1, axis=None, out=None, keepdims=False):
108108
109109
"""
110110

111-
x1_desc = dpnp.get_dpnp_descriptor(x1)
111+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
112112
if x1_desc:
113113
if axis is not None:
114114
pass
@@ -148,8 +148,8 @@ def allclose(x1, x2, rtol=1.e-5, atol=1.e-8, **kwargs):
148148

149149
rtol_is_scalar = dpnp.isscalar(rtol)
150150
atol_is_scalar = dpnp.isscalar(atol)
151-
x1_desc = dpnp.get_dpnp_descriptor(x1)
152-
x2_desc = dpnp.get_dpnp_descriptor(x2)
151+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
152+
x2_desc = dpnp.get_dpnp_descriptor(x2, copy_when_nondefault_queue=False)
153153

154154
if x1_desc and x2_desc and not kwargs:
155155
if not rtol_is_scalar or not atol_is_scalar:
@@ -202,7 +202,7 @@ def any(x1, axis=None, out=None, keepdims=False):
202202
203203
"""
204204

205-
x1_desc = dpnp.get_dpnp_descriptor(x1)
205+
x1_desc = dpnp.get_dpnp_descriptor(x1, copy_when_nondefault_queue=False)
206206
if x1_desc:
207207
if axis is not None:
208208
pass

0 commit comments

Comments
 (0)