Skip to content

Add support of dpnp.less_equal() #1275

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 24, 2023

Conversation

antonwolfy
Copy link
Contributor

@antonwolfy antonwolfy commented Jan 23, 2023

The PR introduces a support of dpnp.less_equal() function in dpnp.
It includes core implementation which will be reused later while adding other comparison functions.

This PR is fixing issue reported in #1251.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • If this PR is a work in progress, are you filing the PR as a draft?

@oleksandr-pavlyk
Copy link
Contributor

A validation step is missing:


In [24]: x = dpnp.random.randn(10)

In [25]: x2 = dpnp.random.rand(12)

In [26]: (x <= x2)._array_obj
Out[26]: usm_ndarray(True)

In [27]: (x <= x2)
Out[27]: <dpnp.dpnp_array.dpnp_array at 0x7feefa759760>

In [28]: import numpy as np

In [29]: x, x2 = np.random.randn(10), np.random.randn(12)

In [30]: x <= x2
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [30], in <cell line: 1>()
----> 1 x <= x2

ValueError: operands could not be broadcast together with shapes (10,) (12,)

@antonwolfy
Copy link
Contributor Author

antonwolfy commented Jan 23, 2023

A validation step is missing:


In [24]: x = dpnp.random.randn(10)

In [25]: x2 = dpnp.random.rand(12)

In [26]: (x <= x2)._array_obj
Out[26]: usm_ndarray(True)

In [27]: (x <= x2)
Out[27]: <dpnp.dpnp_array.dpnp_array at 0x7feefa759760>

In [28]: import numpy as np

In [29]: x, x2 = np.random.randn(10), np.random.randn(12)

In [30]: x <= x2
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [30], in <cell line: 1>()
----> 1 x <= x2

ValueError: operands could not be broadcast together with shapes (10,) (12,)

Thank you for the shared finding. The issue is fixed in new commit (more tests added to cover the use case).

@antonwolfy antonwolfy merged commit 67e7f87 into IntelPython:master Jan 24, 2023
@antonwolfy antonwolfy deleted the dpnp_less_or_equal branch January 24, 2023 16:25
antonwolfy added a commit that referenced this pull request Feb 23, 2023
* Complete support of python 3.10 in external CI (#1269)

* Set minimum required versions & fix debug building (#1270)

* Set minimum required versions & fix debug building

* Fix typo

* Add support of NumPy 1.24 (#1276)

* Set minimum required versions & fix debug building

* Add support of numpy 1.24

* Get rid of 'has_aspect_host' property in tests (#1274)

* Set minimum required versions & fix debug building

* Get rid of 'has_aspect_host' property in tests

* Update tests/test_sycl_queue.py

Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>

Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>

* Add support of dpnp.less_equal() (#1275)

* Set minimum required versions & fix debug building

* Add support of dpnp.less_equal()

* Test no broadcast together with input shapes

* Add support of comparison operations (#1278)

* Use eye() function from dpctl.tensor. (#1271)

* Use eye() function from dpctl.tensor.

* Add missed order in test for eye() function.

* Updated copyright year. Added parameter like for eye() function.

* Removed input argumet additional kwards for eye() function.

* Get rid of unsupported types in array creation tests (#1283)

* Add support of logical comparison operations (#1280)

* Add device and sycl_queue keyword arguments to random calls (#1277)

* Set minimum required versions & fix debug building

* Add device and sycl_queue keyword arguments to random calls

* Add device and sycl_queue to dpnp.random.seed() & use random values if seed is None

* Update dpnp/random/dpnp_iface_random.py

Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>

---------

Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>

* add __repr__

* add __str__

* reviewer's comments

* Fixed gh-1272 (#1287)

* Support high=None in dpnp.randint() (#1284)

* linter changes applied

* Add operation __index__ and __complex__ (#1285)

* Add operation __index__ and __complex__

* Add tests

* Update tests with proper call of dpctl.SyclQueue() (#1290)

* Update minimum required versions of dependent components. (#1289)

* dpnp.add() doesn't work properly with a scalar (#1288)

* dpnp.add() doesn't work properly with a scalar

* get rid of dpctl.SyclQueue() call in tests with unsupported device keyword

* Add a fix for crash on CPU device

* USM type in operations with a scalar

* Porting fix for crash to logic kernel

* Add dlpack support with tests and docstrings

* Add a test for dlpack with dpt

* Fix remarks, add _create_from_usm_ndarray func and move tests to test_sycl_queue

* Use tril() and triu() function from dpctl.tensor (#1286)

* Use tril() function from dpctl.tensor

* Use triu() function from dpctl.tensor

* Changed tests for tril() and triu() functions.

* Skip tests for tril() and triu() functions with usm_type.

* dpnp.subtract() doesn't work properly with a scalar (#1292)

* dpnp.add() doesn't work properly with a scalar

* dpnp.subtract() doesn't work properly with a scalar

* USM type in operations with a scalar

* Rollback excluded 'floor_divide' tests from skip scope

* Explicit vector operations instead of saturation functions

* Use std::int32_t and std::int64_t types

* Tune tail's loop of kernel for the vector op

* dpnp.divide() doesn't work properly with a scalar (#1295)

* dpnp.add() doesn't work properly with a scalar

* dpnp.subtract() doesn't work properly with a scalar

* dpnp.divide() doesn't work properly with a scalar

* dpnp.divide() doesn't work properly with a scalar

* Use std::int32_t and std::int64_t types

* Disable floating-point optimizations that assume arguments and results are not NaNs or +-Inf

* Fix issue with divide on Iris Xe

* Updae example3 building from debug build script (#1298)

* Remove temporary solution accepting CFD with equal SYCL context instead of queue (#1303)

* Intel LLVM is to use conda's gcc toolchain, sysroot and target libraries (#1306)

* Tests are crashing if no default device (#1311)

* Setting version to 0.11.1 (#1308)

---------

Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>
Co-authored-by: Natalia Polina <natalia.polina@intel.com>
Co-authored-by: Vahid Tavanashad <vahid.tavanashad@intel.com>
Co-authored-by: Vladislav Perevezentsev <vladislav.perevezentsev@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants