Skip to content

Commit 7e99250

Browse files
Merge pull request #1156 from IntelPython/sycl_cython2_check_sasha
Merges changes from subsumed #1131, #1137, #1140 as well as changes to address compiler warnings, changes to make call_origin follow CFD for the allocation of the output array, and adding PR template to hopefully stop harmful team practice of not properly documenting PRs
2 parents 3411f28 + 90a297e commit 7e99250

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+3582
-1146
lines changed

.github/pull_request_template.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
- [ ] Have you provided a meaningful PR description?
2+
- [ ] Have you added a test, reproducer or referred to issue with a reproducer?
3+
- [ ] Have you tested your changes locally for CPU and GPU devices?
4+
- [ ] Have you made sure that new changes do not introduce compiler warnings?
5+
- [ ] If this PR is a work in progress, are you filing the PR as a draft?

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
build
2+
build_cython
3+
__pycache__/
4+
*dpnp_backend*
5+
dpnp/**/*.cpython*.so
6+
dpnp/**/*.pyd
7+
*~

dpnp/backend/include/dpnp_gen_1arg_1type_tbl.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,20 @@
9090

9191
#endif
9292

93-
MACRO_1ARG_1TYPE_OP(dpnp_conjugate_c, std::conj(input_elem), DPNP_QUEUE.submit(kernel_func))
94-
MACRO_1ARG_1TYPE_OP(dpnp_copy_c, input_elem, DPNP_QUEUE.submit(kernel_func))
93+
MACRO_1ARG_1TYPE_OP(dpnp_conjugate_c, std::conj(input_elem), q.submit(kernel_func))
94+
MACRO_1ARG_1TYPE_OP(dpnp_copy_c, input_elem, q.submit(kernel_func))
9595
MACRO_1ARG_1TYPE_OP(dpnp_erf_c,
9696
sycl::erf((double)input_elem),
97-
oneapi::mkl::vm::erf(DPNP_QUEUE, input1_size, input1_data, result)) // no sycl::erf for int and long
98-
MACRO_1ARG_1TYPE_OP(dpnp_negative_c, -input_elem, DPNP_QUEUE.submit(kernel_func))
97+
oneapi::mkl::vm::erf(q, input1_size, input1_data, result)) // no sycl::erf for int and long
98+
MACRO_1ARG_1TYPE_OP(dpnp_negative_c, -input_elem, q.submit(kernel_func))
9999
MACRO_1ARG_1TYPE_OP(dpnp_recip_c,
100100
_DataType(1) / input_elem,
101-
DPNP_QUEUE.submit(kernel_func)) // error: no member named 'recip' in namespace 'sycl'
101+
q.submit(kernel_func)) // error: no member named 'recip' in namespace 'sycl'
102102
MACRO_1ARG_1TYPE_OP(dpnp_sign_c,
103103
sycl::sign((double)input_elem),
104-
DPNP_QUEUE.submit(kernel_func)) // no sycl::sign for int and long
104+
q.submit(kernel_func)) // no sycl::sign for int and long
105105
MACRO_1ARG_1TYPE_OP(dpnp_square_c,
106106
input_elem* input_elem,
107-
oneapi::mkl::vm::sqr(DPNP_QUEUE, input1_size, input1_data, result))
107+
oneapi::mkl::vm::sqr(q, input1_size, input1_data, result))
108108

109109
#undef MACRO_1ARG_1TYPE_OP

dpnp/backend/include/dpnp_gen_1arg_2type_tbl.hpp

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -92,81 +92,81 @@
9292

9393
MACRO_1ARG_2TYPES_OP(dpnp_acos_c,
9494
sycl::acos(input_elem),
95-
oneapi::mkl::vm::acos(DPNP_QUEUE, input1_size, input1_data, result))
95+
oneapi::mkl::vm::acos(q, input1_size, input1_data, result))
9696
MACRO_1ARG_2TYPES_OP(dpnp_acosh_c,
9797
sycl::acosh(input_elem),
98-
oneapi::mkl::vm::acosh(DPNP_QUEUE, input1_size, input1_data, result))
98+
oneapi::mkl::vm::acosh(q, input1_size, input1_data, result))
9999
MACRO_1ARG_2TYPES_OP(dpnp_asin_c,
100100
sycl::asin(input_elem),
101-
oneapi::mkl::vm::asin(DPNP_QUEUE, input1_size, input1_data, result))
101+
oneapi::mkl::vm::asin(q, input1_size, input1_data, result))
102102
MACRO_1ARG_2TYPES_OP(dpnp_asinh_c,
103103
sycl::asinh(input_elem),
104-
oneapi::mkl::vm::asinh(DPNP_QUEUE, input1_size, input1_data, result))
104+
oneapi::mkl::vm::asinh(q, input1_size, input1_data, result))
105105
MACRO_1ARG_2TYPES_OP(dpnp_atan_c,
106106
sycl::atan(input_elem),
107-
oneapi::mkl::vm::atan(DPNP_QUEUE, input1_size, input1_data, result))
107+
oneapi::mkl::vm::atan(q, input1_size, input1_data, result))
108108
MACRO_1ARG_2TYPES_OP(dpnp_atanh_c,
109109
sycl::atanh(input_elem),
110-
oneapi::mkl::vm::atanh(DPNP_QUEUE, input1_size, input1_data, result))
110+
oneapi::mkl::vm::atanh(q, input1_size, input1_data, result))
111111
MACRO_1ARG_2TYPES_OP(dpnp_cbrt_c,
112112
sycl::cbrt(input_elem),
113-
oneapi::mkl::vm::cbrt(DPNP_QUEUE, input1_size, input1_data, result))
113+
oneapi::mkl::vm::cbrt(q, input1_size, input1_data, result))
114114
MACRO_1ARG_2TYPES_OP(dpnp_ceil_c,
115115
sycl::ceil(input_elem),
116-
oneapi::mkl::vm::ceil(DPNP_QUEUE, input1_size, input1_data, result))
117-
MACRO_1ARG_2TYPES_OP(dpnp_copyto_c, input_elem, DPNP_QUEUE.submit(kernel_func))
116+
oneapi::mkl::vm::ceil(q, input1_size, input1_data, result))
117+
MACRO_1ARG_2TYPES_OP(dpnp_copyto_c, input_elem, q.submit(kernel_func))
118118
MACRO_1ARG_2TYPES_OP(dpnp_cos_c,
119119
sycl::cos(input_elem),
120-
oneapi::mkl::vm::cos(DPNP_QUEUE, input1_size, input1_data, result))
120+
oneapi::mkl::vm::cos(q, input1_size, input1_data, result))
121121
MACRO_1ARG_2TYPES_OP(dpnp_cosh_c,
122122
sycl::cosh(input_elem),
123-
oneapi::mkl::vm::cosh(DPNP_QUEUE, input1_size, input1_data, result))
124-
MACRO_1ARG_2TYPES_OP(dpnp_degrees_c, sycl::degrees(input_elem), DPNP_QUEUE.submit(kernel_func))
123+
oneapi::mkl::vm::cosh(q, input1_size, input1_data, result))
124+
MACRO_1ARG_2TYPES_OP(dpnp_degrees_c, sycl::degrees(input_elem), q.submit(kernel_func))
125125
MACRO_1ARG_2TYPES_OP(dpnp_exp2_c,
126126
sycl::exp2(input_elem),
127-
oneapi::mkl::vm::exp2(DPNP_QUEUE, input1_size, input1_data, result))
127+
oneapi::mkl::vm::exp2(q, input1_size, input1_data, result))
128128
MACRO_1ARG_2TYPES_OP(dpnp_exp_c,
129129
sycl::exp(input_elem),
130-
oneapi::mkl::vm::exp(DPNP_QUEUE, input1_size, input1_data, result))
130+
oneapi::mkl::vm::exp(q, input1_size, input1_data, result))
131131
MACRO_1ARG_2TYPES_OP(dpnp_expm1_c,
132132
sycl::expm1(input_elem),
133-
oneapi::mkl::vm::expm1(DPNP_QUEUE, input1_size, input1_data, result))
133+
oneapi::mkl::vm::expm1(q, input1_size, input1_data, result))
134134
MACRO_1ARG_2TYPES_OP(dpnp_fabs_c,
135135
sycl::fabs(input_elem),
136-
oneapi::mkl::vm::abs(DPNP_QUEUE, input1_size, input1_data, result))
136+
oneapi::mkl::vm::abs(q, input1_size, input1_data, result))
137137
MACRO_1ARG_2TYPES_OP(dpnp_floor_c,
138138
sycl::floor(input_elem),
139-
oneapi::mkl::vm::floor(DPNP_QUEUE, input1_size, input1_data, result))
139+
oneapi::mkl::vm::floor(q, input1_size, input1_data, result))
140140
MACRO_1ARG_2TYPES_OP(dpnp_log10_c,
141141
sycl::log10(input_elem),
142-
oneapi::mkl::vm::log10(DPNP_QUEUE, input1_size, input1_data, result))
142+
oneapi::mkl::vm::log10(q, input1_size, input1_data, result))
143143
MACRO_1ARG_2TYPES_OP(dpnp_log1p_c,
144144
sycl::log1p(input_elem),
145-
oneapi::mkl::vm::log1p(DPNP_QUEUE, input1_size, input1_data, result))
145+
oneapi::mkl::vm::log1p(q, input1_size, input1_data, result))
146146
MACRO_1ARG_2TYPES_OP(dpnp_log2_c,
147147
sycl::log2(input_elem),
148-
oneapi::mkl::vm::log2(DPNP_QUEUE, input1_size, input1_data, result))
148+
oneapi::mkl::vm::log2(q, input1_size, input1_data, result))
149149
MACRO_1ARG_2TYPES_OP(dpnp_log_c,
150150
sycl::log(input_elem),
151-
oneapi::mkl::vm::ln(DPNP_QUEUE, input1_size, input1_data, result))
152-
MACRO_1ARG_2TYPES_OP(dpnp_radians_c, sycl::radians(input_elem), DPNP_QUEUE.submit(kernel_func))
151+
oneapi::mkl::vm::ln(q, input1_size, input1_data, result))
152+
MACRO_1ARG_2TYPES_OP(dpnp_radians_c, sycl::radians(input_elem), q.submit(kernel_func))
153153
MACRO_1ARG_2TYPES_OP(dpnp_sin_c,
154154
sycl::sin(input_elem),
155-
oneapi::mkl::vm::sin(DPNP_QUEUE, input1_size, input1_data, result))
155+
oneapi::mkl::vm::sin(q, input1_size, input1_data, result))
156156
MACRO_1ARG_2TYPES_OP(dpnp_sinh_c,
157157
sycl::sinh(input_elem),
158-
oneapi::mkl::vm::sinh(DPNP_QUEUE, input1_size, input1_data, result))
158+
oneapi::mkl::vm::sinh(q, input1_size, input1_data, result))
159159
MACRO_1ARG_2TYPES_OP(dpnp_sqrt_c,
160160
sycl::sqrt(input_elem),
161-
oneapi::mkl::vm::sqrt(DPNP_QUEUE, input1_size, input1_data, result))
161+
oneapi::mkl::vm::sqrt(q, input1_size, input1_data, result))
162162
MACRO_1ARG_2TYPES_OP(dpnp_tan_c,
163163
sycl::tan(input_elem),
164-
oneapi::mkl::vm::tan(DPNP_QUEUE, input1_size, input1_data, result))
164+
oneapi::mkl::vm::tan(q, input1_size, input1_data, result))
165165
MACRO_1ARG_2TYPES_OP(dpnp_tanh_c,
166166
sycl::tanh(input_elem),
167-
oneapi::mkl::vm::tanh(DPNP_QUEUE, input1_size, input1_data, result))
167+
oneapi::mkl::vm::tanh(q, input1_size, input1_data, result))
168168
MACRO_1ARG_2TYPES_OP(dpnp_trunc_c,
169169
sycl::trunc(input_elem),
170-
oneapi::mkl::vm::trunc(DPNP_QUEUE, input1_size, input1_data, result))
170+
oneapi::mkl::vm::trunc(q, input1_size, input1_data, result))
171171

172172
#undef MACRO_1ARG_2TYPES_OP

dpnp/backend/include/dpnp_iface.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ INP_DLLEXPORT void dpnp_cumprod_c(void* array1_in, void* result1, size_t size);
533533
* @param [in] q_ref Reference to SYCL queue.
534534
* @param [in] array1_in Input array.
535535
* @param [out] result1 Output array.
536-
* @param [in] size Number of elements in input arrays.
536+
* @param [in] size Number of elements in input arrays.
537537
* @param [in] dep_event_vec_ref Reference to vector of SYCL events.
538538
*
539539
*/
@@ -551,7 +551,7 @@ INP_DLLEXPORT void dpnp_cumsum_c(void* array1_in, void* result1, size_t size);
551551
* @ingroup BACKEND_API
552552
* @brief The differences between consecutive elements of an array.
553553
*
554-
* @param [in] q_ref Reference to SYCL queue.
554+
* @param [in] q_ref Reference to SYCL queue.
555555
* @param [out] result_out Output array.
556556
* @param [in] result_size Size of output array.
557557
* @param [in] result_ndim Number of output array dimensions.

dpnp/backend/include/dpnp_iface_fptr.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,6 @@ enum class DPNPFuncName : size_t
381381
DPNP_FN_ZEROS_LIKE, /**< Used in numpy.zeros_like() impl */
382382
DPNP_FN_ZEROS_LIKE_EXT, /**< Used in numpy.zeros_like() impl, requires extra parameters */
383383
DPNP_FN_LAST, /**< The latest element of the enumeration */
384-
DPNP_FN_LAST_EXT /**< The latest element of the enumeration, requires extra parameters */
385384
};
386385

387386
/**

dpnp/backend/include/dpnp_iface_random.hpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -335,23 +335,23 @@ INP_DLLEXPORT void dpnp_rng_lognormal_c(void* result, const _DataType mean, cons
335335
* @param [in] q_ref Reference to SYCL queue.
336336
* @param [out] result Output array.
337337
* @param [in] ntrial Number of independent trials.
338-
* @param [in] p_vector Probability vector of possible outcomes (k length).
339-
* @param [in] p_vector_size Length of `p_vector`.
338+
* @param [in] p_in Probability of possible outcomes (k length).
339+
* @param [in] p_size Length of `p_in`.
340340
* @param [in] size Number of elements in `result` arrays.
341341
* @param [in] dep_event_vec_ref Reference to vector of SYCL events.
342342
*/
343343
template <typename _DataType>
344344
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_multinomial_c(DPCTLSyclQueueRef q_ref,
345345
void* result,
346346
const int ntrial,
347-
const double* p_vector,
348-
const size_t p_vector_size,
347+
const double* p_in,
348+
const size_t p_size,
349349
const size_t size,
350350
const DPCTLEventVectorRef dep_event_vec_ref);
351351

352352
template <typename _DataType>
353353
INP_DLLEXPORT void dpnp_rng_multinomial_c(
354-
void* result, const int ntrial, const double* p_vector, const size_t p_vector_size, const size_t size);
354+
void* result, const int ntrial, const double* p_in, const size_t p_size, const size_t size);
355355

356356
/**
357357
* @ingroup BACKEND_RANDOM_API
@@ -360,31 +360,31 @@ INP_DLLEXPORT void dpnp_rng_multinomial_c(
360360
* @param [in] q_ref Reference to SYCL queue.
361361
* @param [out] result Output array.
362362
* @param [in] dimen Dimension of output random vectors.
363-
* @param [in] mean_vector Mean vector a of dimension.
364-
* @param [in] mean_vector_size Length of `mean_vector`.
365-
* @param [in] cov_vector Variance-covariance matrix.
366-
* @param [in] cov_vector_size Length of `cov_vector`.
363+
* @param [in] mean_in Mean arry of dimension.
364+
* @param [in] mean_size Length of `mean_in`.
365+
* @param [in] cov Variance-covariance matrix.
366+
* @param [in] cov_size Length of `cov_in`.
367367
* @param [in] size Number of elements in `result` arrays.
368368
* @param [in] dep_event_vec_ref Reference to vector of SYCL events.
369369
*/
370370
template <typename _DataType>
371371
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_multivariate_normal_c(DPCTLSyclQueueRef q_ref,
372372
void* result,
373373
const int dimen,
374-
const double* mean_vector,
375-
const size_t mean_vector_size,
376-
const double* cov_vector,
377-
const size_t cov_vector_size,
374+
const double* mean_in,
375+
const size_t mean_size,
376+
const double* cov_in,
377+
const size_t cov_size,
378378
const size_t size,
379379
const DPCTLEventVectorRef dep_event_vec_ref);
380380

381381
template <typename _DataType>
382382
INP_DLLEXPORT void dpnp_rng_multivariate_normal_c(void* result,
383383
const int dimen,
384-
const double* mean_vector,
385-
const size_t mean_vector_size,
386-
const double* cov_vector,
387-
const size_t cov_vector_size,
384+
const double* mean_in,
385+
const size_t mean_size,
386+
const double* cov_in,
387+
const size_t cov_size,
388388
const size_t size);
389389

390390
/**

dpnp/backend/kernels/dpnp_krnl_arraycreation.cpp

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ DPCTLSyclEventRef dpnp_arange_c(DPCTLSyclQueueRef q_ref,
7373

7474
event = q.submit(kernel_func);
7575

76-
event.wait();
76+
event_ref = reinterpret_cast<DPCTLSyclEventRef>(&event);
7777

78-
return event_ref;
78+
return DPCTLEvent_Copy(event_ref);
7979
}
8080

8181
template <typename _DataType>
@@ -133,15 +133,15 @@ DPCTLSyclEventRef dpnp_diag_c(DPCTLSyclQueueRef q_ref,
133133

134134
if (ndim == 1)
135135
{
136-
for (size_t i = 0; i < shape[0]; ++i)
136+
for (size_t i = 0; i < static_cast<size_t>(shape[0]); ++i)
137137
{
138138
size_t ind = (init0 + i) * res_shape[1] + init1 + i;
139139
result[ind] = v[i];
140140
}
141141
}
142142
else
143143
{
144-
for (size_t i = 0; i < res_shape[0]; ++i)
144+
for (size_t i = 0; i < static_cast<size_t>(res_shape[0]); ++i)
145145
{
146146
size_t ind = (init0 + i) * shape[1] + init1 + i;
147147
result[i] = v[ind];
@@ -617,9 +617,6 @@ DPCTLSyclEventRef dpnp_vander_c(DPCTLSyclQueueRef q_ref,
617617
const int increasing,
618618
const DPCTLEventVectorRef dep_event_vec_ref)
619619
{
620-
// avoid warning unused variable
621-
(void)dep_event_vec_ref;
622-
623620
DPCTLSyclEventRef event_ref = nullptr;
624621

625622
if ((array1_in == nullptr) || (result1 == nullptr))
@@ -637,8 +634,7 @@ DPCTLSyclEventRef dpnp_vander_c(DPCTLSyclQueueRef q_ref,
637634

638635
if (N == 1)
639636
{
640-
dpnp_ones_c<_DataType_output>(result, size_in);
641-
return event_ref;
637+
return dpnp_ones_c<_DataType_output>(q_ref, result, size_in, dep_event_vec_ref);
642638
}
643639

644640
if (increasing)
@@ -762,9 +758,10 @@ DPCTLSyclEventRef dpnp_trace_c(DPCTLSyclQueueRef q_ref,
762758
};
763759

764760
auto event = q.submit(kernel_func);
765-
event.wait();
766761

767-
return event_ref;
762+
event_ref = reinterpret_cast<DPCTLSyclEventRef>(&event);
763+
764+
return DPCTLEvent_Copy(event_ref);
768765
}
769766

770767
template <typename _DataType, typename _ResultType>
@@ -849,9 +846,9 @@ DPCTLSyclEventRef dpnp_tri_c(DPCTLSyclQueueRef q_ref,
849846

850847
event = q.submit(kernel_func);
851848

852-
event.wait();
849+
event_ref = reinterpret_cast<DPCTLSyclEventRef>(&event);
853850

854-
return event_ref;
851+
return DPCTLEvent_Copy(event_ref);
855852
}
856853

857854
template <typename _DataType>

0 commit comments

Comments
 (0)