diff --git a/CHANGELOG.md b/CHANGELOG.md index 027ed4e91b..f09c4b9a91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.20.1] - Jun. 06, 2025 + +### Fixed + +* Fixed missing event dependencies in roll and reshape Python bindings for size-1 input arrays [gh-2095](https://github.com/IntelPython/dpctl/pull/2095) + ## [0.20.0] - Jun. 03, 2025 This release achieves compliance of `dpctl.tensor` with the Python Array API 2024.12 standard. diff --git a/dpctl/tensor/libtensor/source/copy_for_reshape.cpp b/dpctl/tensor/libtensor/source/copy_for_reshape.cpp index eb404a4543..5eb0809768 100644 --- a/dpctl/tensor/libtensor/source/copy_for_reshape.cpp +++ b/dpctl/tensor/libtensor/source/copy_for_reshape.cpp @@ -108,7 +108,7 @@ copy_usm_ndarray_for_reshape(const dpctl::tensor::usm_ndarray &src, const char *src_data = src.get_data(); char *dst_data = dst.get_data(); sycl::event copy_ev = - exec_q.copy(src_data, dst_data, src_elemsize); + exec_q.copy(src_data, dst_data, src_elemsize, depends); return std::make_pair(keep_args_alive(exec_q, {src, dst}, {copy_ev}), copy_ev); } diff --git a/dpctl/tensor/libtensor/source/copy_for_roll.cpp b/dpctl/tensor/libtensor/source/copy_for_roll.cpp index ef63060b4f..9bac9db768 100644 --- a/dpctl/tensor/libtensor/source/copy_for_roll.cpp +++ b/dpctl/tensor/libtensor/source/copy_for_roll.cpp @@ -132,7 +132,7 @@ copy_usm_ndarray_for_roll_1d(const dpctl::tensor::usm_ndarray &src, const char *src_data = src.get_data(); char *dst_data = dst.get_data(); sycl::event copy_ev = - exec_q.copy(src_data, dst_data, src_elemsize); + exec_q.copy(src_data, dst_data, src_elemsize, depends); return std::make_pair(keep_args_alive(exec_q, {src, dst}, {copy_ev}), copy_ev); } @@ -282,7 +282,7 @@ copy_usm_ndarray_for_roll_nd(const dpctl::tensor::usm_ndarray &src, // typenames must be the same if (src_typenum != dst_typenum) { throw py::value_error( - "copy_usm_ndarray_for_reshape requires src and dst to " + "copy_usm_ndarray_for_roll_nd requires src and dst to " "have the same type."); } @@ -304,7 +304,7 @@ copy_usm_ndarray_for_roll_nd(const dpctl::tensor::usm_ndarray &src, const char *src_data = src.get_data(); char *dst_data = dst.get_data(); sycl::event copy_ev = - exec_q.copy(src_data, dst_data, src_elemsize); + exec_q.copy(src_data, dst_data, src_elemsize, depends); return std::make_pair(keep_args_alive(exec_q, {src, dst}, {copy_ev}), copy_ev); }