Skip to content

Commit 1bef06b

Browse files
authored
use sycl_adapter in krnl_logic (#910)
1 parent 6437593 commit 1bef06b

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

dpnp/backend/kernels/dpnp_krnl_logic.cpp

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
#include "dpnp_fptr.hpp"
2929
#include "dpnp_iface.hpp"
30+
#include "dpnpc_memory_adapter.hpp"
3031
#include "queue_sycl.hpp"
3132

3233
template <typename _DataType, typename _ResultType>
@@ -35,16 +36,17 @@ class dpnp_all_c_kernel;
3536
template <typename _DataType, typename _ResultType>
3637
void dpnp_all_c(const void* array1_in, void* result1, const size_t size)
3738
{
38-
cl::sycl::event event;
39-
40-
const _DataType* array_in = reinterpret_cast<const _DataType*>(array1_in);
41-
_ResultType* result = reinterpret_cast<_ResultType*>(result1);
42-
4339
if (!array1_in || !result1)
4440
{
4541
return;
4642
}
4743

44+
cl::sycl::event event;
45+
DPNPC_ptr_adapter<_DataType> input1_ptr(array1_in, size);
46+
DPNPC_ptr_adapter<_ResultType> result1_ptr(result1, 1, true, true);
47+
const _DataType* array_in = input1_ptr.get_ptr();
48+
_ResultType* result = result1_ptr.get_ptr();
49+
4850
result[0] = true;
4951

5052
if (!size)
@@ -83,9 +85,13 @@ void dpnp_allclose_c(
8385
return;
8486
}
8587

86-
const _DataType1* array1 = reinterpret_cast<const _DataType1*>(array1_in);
87-
const _DataType2* array2 = reinterpret_cast<const _DataType2*>(array2_in);
88-
_ResultType* result = reinterpret_cast<_ResultType*>(result1);
88+
cl::sycl::event event;
89+
DPNPC_ptr_adapter<_DataType1> input1_ptr(array1_in, size);
90+
DPNPC_ptr_adapter<_DataType2> input2_ptr(array2_in, size);
91+
DPNPC_ptr_adapter<_ResultType> result1_ptr(result1, 1, true, true);
92+
const _DataType1* array1 = input1_ptr.get_ptr();
93+
const _DataType2* array2 = input2_ptr.get_ptr();
94+
_ResultType* result = result1_ptr.get_ptr();
8995

9096
result[0] = true;
9197

@@ -94,8 +100,6 @@ void dpnp_allclose_c(
94100
return;
95101
}
96102

97-
cl::sycl::event event;
98-
99103
cl::sycl::range<1> gws(size);
100104
auto kernel_parallel_for_func = [=](cl::sycl::id<1> global_id) {
101105
size_t i = global_id[0];
@@ -122,16 +126,17 @@ class dpnp_any_c_kernel;
122126
template <typename _DataType, typename _ResultType>
123127
void dpnp_any_c(const void* array1_in, void* result1, const size_t size)
124128
{
125-
cl::sycl::event event;
126-
127-
const _DataType* array_in = reinterpret_cast<const _DataType*>(array1_in);
128-
_ResultType* result = reinterpret_cast<_ResultType*>(result1);
129-
130129
if (!array1_in || !result1)
131130
{
132131
return;
133132
}
134133

134+
cl::sycl::event event;
135+
DPNPC_ptr_adapter<_DataType> input1_ptr(array1_in, size);
136+
DPNPC_ptr_adapter<_ResultType> result1_ptr(result1, 1, true, true);
137+
const _DataType* array_in = input1_ptr.get_ptr();
138+
_ResultType* result = result1_ptr.get_ptr();
139+
135140
result[0] = false;
136141

137142
if (!size)

0 commit comments

Comments
 (0)