Skip to content

Commit 49f957b

Browse files
committed
Align with changes in dpctl::tensor::offset_utils::device_allocate_and_pack
1 parent 23c4907 commit 49f957b

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

dpnp/backend/extensions/elementwise_functions/elementwise_functions.hpp

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -218,15 +218,12 @@ std::pair<sycl::event, sycl::event>
218218
std::vector<sycl::event> host_tasks{};
219219
host_tasks.reserve(2);
220220

221-
const auto &ptr_size_event_triple_ = device_allocate_and_pack<py::ssize_t>(
221+
auto ptr_size_event_triple_ = device_allocate_and_pack<py::ssize_t>(
222222
q, host_tasks, simplified_shape, simplified_src_strides,
223223
simplified_dst_strides);
224-
py::ssize_t *shape_strides = std::get<0>(ptr_size_event_triple_);
225-
const sycl::event &copy_shape_ev = std::get<2>(ptr_size_event_triple_);
226-
227-
if (shape_strides == nullptr) {
228-
throw std::runtime_error("Device memory allocation failed");
229-
}
224+
auto shape_strides_owner = std::move(std::get<0>(ptr_size_event_triple_));
225+
const auto &copy_shape_ev = std::get<2>(ptr_size_event_triple_);
226+
const py::ssize_t *shape_strides = shape_strides_owner.get();
230227

231228
sycl::event strided_fn_ev =
232229
strided_fn(q, src_nelems, nd, shape_strides, src_data, src_offset,
@@ -543,16 +540,13 @@ std::pair<sycl::event, sycl::event> py_binary_ufunc(
543540
}
544541

545542
using dpctl::tensor::offset_utils::device_allocate_and_pack;
546-
const auto &ptr_sz_event_triple_ = device_allocate_and_pack<py::ssize_t>(
543+
auto ptr_sz_event_triple_ = device_allocate_and_pack<py::ssize_t>(
547544
exec_q, host_tasks, simplified_shape, simplified_src1_strides,
548545
simplified_src2_strides, simplified_dst_strides);
546+
auto shape_strides_owner = std::move(std::get<0>(ptr_sz_event_triple_));
547+
auto &copy_shape_ev = std::get<2>(ptr_sz_event_triple_);
549548

550-
py::ssize_t *shape_strides = std::get<0>(ptr_sz_event_triple_);
551-
const sycl::event &copy_shape_ev = std::get<2>(ptr_sz_event_triple_);
552-
553-
if (shape_strides == nullptr) {
554-
throw std::runtime_error("Unable to allocate device memory");
555-
}
549+
const py::ssize_t *shape_strides = shape_strides_owner.get();
556550

557551
sycl::event strided_fn_ev = strided_fn(
558552
exec_q, src_nelems, nd, shape_strides, src1_data, src1_offset,
@@ -796,16 +790,13 @@ std::pair<sycl::event, sycl::event>
796790
}
797791

798792
using dpctl::tensor::offset_utils::device_allocate_and_pack;
799-
const auto &ptr_sz_event_triple_ = device_allocate_and_pack<py::ssize_t>(
793+
auto ptr_sz_event_triple_ = device_allocate_and_pack<py::ssize_t>(
800794
exec_q, host_tasks, simplified_shape, simplified_rhs_strides,
801795
simplified_lhs_strides);
796+
auto shape_strides_owner = std::move(std::get<0>(ptr_sz_event_triple_));
797+
auto copy_shape_ev = std::get<2>(ptr_sz_event_triple_);
802798

803-
py::ssize_t *shape_strides = std::get<0>(ptr_sz_event_triple_);
804-
const sycl::event &copy_shape_ev = std::get<2>(ptr_sz_event_triple_);
805-
806-
if (shape_strides == nullptr) {
807-
throw std::runtime_error("Unable to allocate device memory");
808-
}
799+
const py::ssize_t *shape_strides = shape_strides_owner.get();
809800

810801
sycl::event strided_fn_ev =
811802
strided_fn(exec_q, rhs_nelems, nd, shape_strides, rhs_data, rhs_offset,

0 commit comments

Comments
 (0)