40#ifndef BACKEND_IFACE_H
41#define BACKEND_IFACE_H
47#define INP_DLLEXPORT __declspec(dllexport)
54typedef SSIZE_T ssize_t;
57typedef ssize_t shape_elem_type;
59#include <dpctl_sycl_interface.h>
61#include "dpnp_iface_random.hpp"
90 size_t size_in_bytes);
93INP_DLLEXPORT
void dpnp_memory_free_c(DPCTLSyclQueueRef q_ref,
void *ptr);
94INP_DLLEXPORT
void dpnp_memory_free_c(
void *ptr);
96INP_DLLEXPORT
void dpnp_memory_memcpy_c(DPCTLSyclQueueRef q_ref,
99 size_t size_in_bytes);
101 dpnp_memory_memcpy_c(
void *dst,
const void *src,
size_t size_in_bytes);
116template <
typename _DataType>
117INP_DLLEXPORT DPCTLSyclEventRef
123 const shape_elem_type *shape,
125 const DPCTLEventVectorRef dep_event_vec_ref);
127template <
typename _DataType>
132 const shape_elem_type *shape,
145template <
typename _DataType>
146INP_DLLEXPORT DPCTLSyclEventRef
151 const DPCTLEventVectorRef dep_event_vec_ref);
153template <
typename _DataType>
154INP_DLLEXPORT
void dpnp_initval_c(
void *result1,
void *value,
size_t size);
156#define MACRO_1ARG_1TYPE_OP(__name__, __operation1__, __operation2__) \
157 template <typename _DataType> \
158 INP_DLLEXPORT DPCTLSyclEventRef __name__( \
159 DPCTLSyclQueueRef q_ref, void *result_out, const size_t result_size, \
160 const size_t result_ndim, const shape_elem_type *result_shape, \
161 const shape_elem_type *result_strides, const void *input1_in, \
162 const size_t input1_size, const size_t input1_ndim, \
163 const shape_elem_type *input1_shape, \
164 const shape_elem_type *input1_strides, const size_t *where, \
165 const DPCTLEventVectorRef dep_event_vec_ref); \
167 template <typename _DataType> \
168 INP_DLLEXPORT void __name__( \
169 void *result_out, const size_t result_size, const size_t result_ndim, \
170 const shape_elem_type *result_shape, \
171 const shape_elem_type *result_strides, const void *input1_in, \
172 const size_t input1_size, const size_t input1_ndim, \
173 const shape_elem_type *input1_shape, \
174 const shape_elem_type *input1_strides, const size_t *where);
176#include <dpnp_gen_1arg_1type_tbl.hpp>
189template <
typename _DataType_input,
typename _DataType_output>
190INP_DLLEXPORT DPCTLSyclEventRef
196 const DPCTLEventVectorRef dep_event_vec_ref);
198template <
typename _DataType_input,
typename _DataType_output>
213template <
typename _DataType>
214INP_DLLEXPORT DPCTLSyclEventRef
218 const DPCTLEventVectorRef dep_event_vec_ref);
220template <
typename _DataType>
221INP_DLLEXPORT
void dpnp_ones_c(
void *result,
size_t size);
232template <
typename _DataType>
233INP_DLLEXPORT DPCTLSyclEventRef
237 const DPCTLEventVectorRef dep_event_vec_ref);
239template <
typename _DataType>
251template <
typename _DataType>
252INP_DLLEXPORT DPCTLSyclEventRef
256 const DPCTLEventVectorRef dep_event_vec_ref);
258template <
typename _DataType>
259INP_DLLEXPORT
void dpnp_zeros_c(
void *result,
size_t size);
270template <
typename _DataType>
271INP_DLLEXPORT DPCTLSyclEventRef
275 const DPCTLEventVectorRef dep_event_vec_ref);
277template <
typename _DataType>
DPCTLSyclEventRef dpnp_initval_c(DPCTLSyclQueueRef q_ref, void *result1, void *value, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
implementation of creating filled with value array function
size_t dpnp_queue_is_cpu_c()
SYCL queue device status.
DPCTLSyclEventRef dpnp_zeros_like_c(DPCTLSyclQueueRef q_ref, void *result, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
Implementation of zeros_like function.
DPCTLSyclEventRef dpnp_ones_c(DPCTLSyclQueueRef q_ref, void *result, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
Implementation of ones function.
DPCTLSyclEventRef dpnp_ones_like_c(DPCTLSyclQueueRef q_ref, void *result, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
Implementation of ones_like function.
char * dpnp_memory_alloc_c(DPCTLSyclQueueRef q_ref, size_t size_in_bytes)
SYCL queue memory allocation.
DPCTLSyclEventRef dpnp_modf_c(DPCTLSyclQueueRef q_ref, void *array1_in, void *result1_out, void *result2_out, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
modf function.
DPCTLSyclEventRef dpnp_zeros_c(DPCTLSyclQueueRef q_ref, void *result, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
Implementation of zeros function.
DPCTLSyclEventRef dpnp_partition_c(DPCTLSyclQueueRef q_ref, void *array, void *array2, void *result, const size_t kth, const shape_elem_type *shape, const size_t ndim, const DPCTLEventVectorRef dep_event_vec_ref)
Return a partitioned copy of an array.