@@ -44,130 +44,6 @@ using dpctl::tensor::kernels::alignment_utils::required_alignment;
44
44
static_assert (__SYCL_COMPILER_VERSION >= __SYCL_COMPILER_VECTOR_ABS_CHANGED,
45
45
" SYCL DPC++ compiler does not meet minimum version requirement" );
46
46
47
- template <typename _KernelNameSpecialization1,
48
- typename _KernelNameSpecialization2>
49
- class dpnp_ediff1d_c_kernel ;
50
-
51
- template <typename _DataType_input, typename _DataType_output>
52
- DPCTLSyclEventRef dpnp_ediff1d_c (DPCTLSyclQueueRef q_ref,
53
- void *result_out,
54
- const size_t result_size,
55
- const size_t result_ndim,
56
- const shape_elem_type *result_shape,
57
- const shape_elem_type *result_strides,
58
- const void *input1_in,
59
- const size_t input1_size,
60
- const size_t input1_ndim,
61
- const shape_elem_type *input1_shape,
62
- const shape_elem_type *input1_strides,
63
- const size_t *where,
64
- const DPCTLEventVectorRef dep_event_vec_ref)
65
- {
66
- /* avoid warning unused variable*/
67
- (void )result_ndim;
68
- (void )result_shape;
69
- (void )result_strides;
70
- (void )input1_ndim;
71
- (void )input1_shape;
72
- (void )input1_strides;
73
- (void )where;
74
- (void )dep_event_vec_ref;
75
-
76
- DPCTLSyclEventRef event_ref = nullptr ;
77
-
78
- if (!input1_size) {
79
- return event_ref;
80
- }
81
-
82
- sycl::queue q = *(reinterpret_cast <sycl::queue *>(q_ref));
83
-
84
- DPNPC_ptr_adapter<_DataType_input> input1_ptr (q_ref, input1_in,
85
- input1_size);
86
- DPNPC_ptr_adapter<_DataType_output> result_ptr (q_ref, result_out,
87
- result_size, false , true );
88
-
89
- _DataType_input *input1_data = input1_ptr.get_ptr ();
90
- _DataType_output *result = result_ptr.get_ptr ();
91
-
92
- sycl::event event;
93
- sycl::range<1 > gws (result_size);
94
-
95
- auto kernel_parallel_for_func = [=](sycl::id<1 > global_id) {
96
- size_t output_id =
97
- global_id[0 ]; /* for (size_t i = 0; i < result_size; ++i)*/
98
- {
99
- const _DataType_output curr_elem = input1_data[output_id];
100
- const _DataType_output next_elem = input1_data[output_id + 1 ];
101
- result[output_id] = next_elem - curr_elem;
102
- }
103
- };
104
- auto kernel_func = [&](sycl::handler &cgh) {
105
- cgh.parallel_for <
106
- class dpnp_ediff1d_c_kernel <_DataType_input, _DataType_output>>(
107
- gws, kernel_parallel_for_func);
108
- };
109
- event = q.submit (kernel_func);
110
-
111
- input1_ptr.depends_on (event);
112
- result_ptr.depends_on (event);
113
- event_ref = reinterpret_cast <DPCTLSyclEventRef>(&event);
114
-
115
- return DPCTLEvent_Copy (event_ref);
116
- }
117
-
118
- template <typename _DataType_input, typename _DataType_output>
119
- void dpnp_ediff1d_c (void *result_out,
120
- const size_t result_size,
121
- const size_t result_ndim,
122
- const shape_elem_type *result_shape,
123
- const shape_elem_type *result_strides,
124
- const void *input1_in,
125
- const size_t input1_size,
126
- const size_t input1_ndim,
127
- const shape_elem_type *input1_shape,
128
- const shape_elem_type *input1_strides,
129
- const size_t *where)
130
- {
131
- DPCTLSyclQueueRef q_ref = reinterpret_cast <DPCTLSyclQueueRef>(&DPNP_QUEUE);
132
- DPCTLEventVectorRef dep_event_vec_ref = nullptr ;
133
- DPCTLSyclEventRef event_ref =
134
- dpnp_ediff1d_c<_DataType_input, _DataType_output>(
135
- q_ref, result_out, result_size, result_ndim, result_shape,
136
- result_strides, input1_in, input1_size, input1_ndim, input1_shape,
137
- input1_strides, where, dep_event_vec_ref);
138
- DPCTLEvent_WaitAndThrow (event_ref);
139
- }
140
-
141
- template <typename _DataType_input, typename _DataType_output>
142
- void (*dpnp_ediff1d_default_c)(void *,
143
- const size_t ,
144
- const size_t ,
145
- const shape_elem_type *,
146
- const shape_elem_type *,
147
- const void *,
148
- const size_t ,
149
- const size_t ,
150
- const shape_elem_type *,
151
- const shape_elem_type *,
152
- const size_t *) =
153
- dpnp_ediff1d_c<_DataType_input, _DataType_output>;
154
-
155
- template <typename _DataType_input, typename _DataType_output>
156
- DPCTLSyclEventRef (*dpnp_ediff1d_ext_c)(DPCTLSyclQueueRef,
157
- void *,
158
- const size_t ,
159
- const size_t ,
160
- const shape_elem_type *,
161
- const shape_elem_type *,
162
- const void *,
163
- const size_t ,
164
- const size_t ,
165
- const shape_elem_type *,
166
- const shape_elem_type *,
167
- const size_t *,
168
- const DPCTLEventVectorRef) =
169
- dpnp_ediff1d_c<_DataType_input, _DataType_output>;
170
-
171
47
template <typename _KernelNameSpecialization1,
172
48
typename _KernelNameSpecialization2>
173
49
class dpnp_modf_c_kernel ;
@@ -260,24 +136,6 @@ DPCTLSyclEventRef (*dpnp_modf_ext_c)(DPCTLSyclQueueRef,
260
136
void func_map_init_mathematical (func_map_t &fmap)
261
137
{
262
138
263
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D][eft_INT][eft_INT] = {
264
- eft_LNG, (void *)dpnp_ediff1d_default_c<int32_t , int64_t >};
265
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D][eft_LNG][eft_LNG] = {
266
- eft_LNG, (void *)dpnp_ediff1d_default_c<int64_t , int64_t >};
267
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D][eft_FLT][eft_FLT] = {
268
- eft_FLT, (void *)dpnp_ediff1d_default_c<float , float >};
269
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D][eft_DBL][eft_DBL] = {
270
- eft_DBL, (void *)dpnp_ediff1d_default_c<double , double >};
271
-
272
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D_EXT][eft_INT][eft_INT] = {
273
- eft_LNG, (void *)dpnp_ediff1d_ext_c<int32_t , int64_t >};
274
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D_EXT][eft_LNG][eft_LNG] = {
275
- eft_LNG, (void *)dpnp_ediff1d_ext_c<int64_t , int64_t >};
276
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D_EXT][eft_FLT][eft_FLT] = {
277
- eft_FLT, (void *)dpnp_ediff1d_ext_c<float , float >};
278
- fmap[DPNPFuncName::DPNP_FN_EDIFF1D_EXT][eft_DBL][eft_DBL] = {
279
- eft_DBL, (void *)dpnp_ediff1d_ext_c<double , double >};
280
-
281
139
fmap[DPNPFuncName::DPNP_FN_MODF][eft_INT][eft_INT] = {
282
140
eft_DBL, (void *)dpnp_modf_default_c<int32_t , double >};
283
141
fmap[DPNPFuncName::DPNP_FN_MODF][eft_LNG][eft_LNG] = {
0 commit comments