Skip to content

Commit 6948c1f

Browse files
Merge 86fc82a into ac795ab
2 parents ac795ab + 86fc82a commit 6948c1f

File tree

9 files changed

+1016
-17
lines changed

9 files changed

+1016
-17
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3434
* Replaced `ci` section in `.pre-commit-config.yaml` with a new GitHub workflow with scheduled run to autoupdate the `pre-commit` configuration [#2542](https://github.com/IntelPython/dpnp/pull/2542)
3535
* FFT module is updated to perform in-place FFT in intermediate steps of ND FFT [#2543](https://github.com/IntelPython/dpnp/pull/2543)
3636
* Reused dpctl tensor include to enable experimental SYCL namespace for complex types [#2546](https://github.com/IntelPython/dpnp/pull/2546)
37+
* Improved performance of `dpnp.isclose` function by implementing a dedicated kernel for scalar `rtol` and `atol` arguments [#2540](https://github.com/IntelPython/dpnp/pull/2540)
3738

3839
### Deprecated
3940

dpnp/backend/extensions/common/ext/details/validation_utils_internal.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ inline void check_no_overlap(const array_ptr &input,
114114
}
115115

116116
const auto &overlap = dpctl::tensor::overlap::MemoryOverlap();
117+
const auto &same_logical_tensors =
118+
dpctl::tensor::overlap::SameLogicalTensors();
117119

118-
if (overlap(*input, *output)) {
120+
if (overlap(*input, *output) && !same_logical_tensors(*input, *output)) {
119121
throw py::value_error(name_of(input, names) +
120122
" has overlapping memory segments with " +
121123
name_of(output, names));

dpnp/backend/extensions/ufunc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ set(_elementwise_sources
3737
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/heaviside.cpp
3838
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/i0.cpp
3939
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/interpolate.cpp
40+
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/isclose.cpp
4041
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/lcm.cpp
4142
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/ldexp.cpp
4243
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/logaddexp2.cpp

dpnp/backend/extensions/ufunc/elementwise_functions/common.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "heaviside.hpp"
3838
#include "i0.hpp"
3939
#include "interpolate.hpp"
40+
#include "isclose.hpp"
4041
#include "lcm.hpp"
4142
#include "ldexp.hpp"
4243
#include "logaddexp2.hpp"
@@ -66,6 +67,7 @@ void init_elementwise_functions(py::module_ m)
6667
init_heaviside(m);
6768
init_i0(m);
6869
init_interpolate(m);
70+
init_isclose(m);
6971
init_lcm(m);
7072
init_ldexp(m);
7173
init_logaddexp2(m);

0 commit comments

Comments
 (0)