Skip to content

searchsorted raises RuntimeError: USM-host allocation failure #1689

@vlad-perevezentsev

Description

@vlad-perevezentsev

When I try to pass an input array with negative strides along with values as scalar (usm_ndarray) I get a RuntimeError: USM-host allocation failure while with positive strides dpt.searchsorted works

import dpctl.tensor as dpt

a = dpt.asarray([1,2,3])
a.strides
>>> (1,)
v = dpt.asarray(1)

dpt.searchsorted(a,v)
>>> usm_ndarray(0)

a = dpt.asarray([3,2,1])[::-1]
a.strides
>>> (-1,)

dpt.searchsorted(a,v)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[14], line 1
----> 1 dpt.searchsorted(a,v)

File ~/miniconda3/envs/test/lib/python3.10/site-packages/dpctl/tensor/_searchsorted.py:153, in searchsorted(x1, x2, side, sorter)
    150 dst = _empty_like_orderK(x2, index_dt, usm_type=dst_usm_type)
    152 if side == "left":
--> 153     ht_ev, _ = _searchsorted_left(
    154         hay=x1,
    155         needles=x2,
    156         positions=dst,
    157         sycl_queue=q,
    158         depends=[
    159             ev,
    160         ],
    161     )
    162 else:
    163     ht_ev, _ = _searchsorted_right(
    164         hay=x1,
    165         needles=x2,
   (...)
    170         ],
    171     )

RuntimeError: USM-host allocation failure

If values are usm_ndarray 1-D array dpt.searchsorted works correctly

import dpctl.tensor as dpt

a = dpt.asarray([3,2,1])[::-1]
a.strides
>>> (-1,)

v = dpt.asarray([1])
>>> usm_ndarray([0])


Environment details
$ conda list
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
_sysroot_linux-64_curr_repodata_hack 3                   h69a702a_14    conda-forge
astroid                   3.1.0                    pypi_0    pypi
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
attrs                     23.2.0                   pypi_0    pypi
bandit                    1.7.8                    pypi_0    pypi
black                     23.12.1                  pypi_0    pypi
boto3                     1.34.88                  pypi_0    pypi
botocore                  1.34.88                  pypi_0    pypi
bzip2                     1.0.8                hd590300_5    conda-forge
c-ares                    1.28.1               hd590300_0    conda-forge
ca-certificates           2024.3.11            h06a4308_0  
cachetools                5.3.3                    pypi_0    pypi
certifi                   2024.2.2                 pypi_0    pypi
cfgv                      3.4.0                    pypi_0    pypi
charset-normalizer        3.3.2                    pypi_0    pypi
clang-format              12.0.1.2                 pypi_0    pypi
click                     8.1.7                    pypi_0    pypi
cmake                     3.29.2               hcfe8598_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
cython                    3.0.10          py310hc6cd4ac_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
dill                      0.3.8                    pypi_0    pypi
distlib                   0.3.8                    pypi_0    pypi
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
dpcpp-cpp-rt              2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
dpcpp-sycl-rt             2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
dpcpp_cpp_rt              2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
dpcpp_impl_linux-64       2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
dpcpp_linux-64            2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
dpctl                     0.18.0dev0      py310h15de555_6    dppy/label/dev
dpnp                      0.15.0.dev1+75.gb988e9c4df.dirty           dev_0    <develop>
exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
filelock                  3.14.0                   pypi_0    pypi
google-api-core           2.18.0                   pypi_0    pypi
google-api-python-client  2.126.0                  pypi_0    pypi
google-auth               2.29.0                   pypi_0    pypi
google-auth-httplib2      0.2.0                    pypi_0    pypi
googleapis-common-protos  1.63.0                   pypi_0    pypi
h11                       0.14.0                   pypi_0    pypi
httplib2                  0.22.0                   pypi_0    pypi
hypothesis                6.100.5                  pypi_0    pypi
icc_rt                    2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
identify                  2.5.36                   pypi_0    pypi
idna                      3.7                      pypi_0    pypi
iniconfig                 2.0.0              pyhd8ed1ab_0    conda-forge
intel-cmplr-lib-rt        2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
intel-cmplr-lib-ur        2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
intel-cmplr-lic-rt        2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
intel-opencl-rt           2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
intel-openmp              2024.2.0              intel_455    http://satpkgserver.an.intel.com:8081
intelpython               2024.1.0                      0    http://satpkgserver.an.intel.com:8081
ipython                   8.22.2             pyh707e725_0    conda-forge
isort                     5.13.2                   pypi_0    pypi
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jmespath                  1.0.1                    pypi_0    pypi
kernel-headers_linux-64   4.18.0               he073ed8_2    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.2               h659d440_0    conda-forge
level-zero                1.16.14              h00ab1b0_0    conda-forge
libcurl                   8.7.1                hca28451_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libexpat                  2.6.2                h59595ed_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 13.2.0               h807b86a_5    conda-forge
libgomp                   13.2.0               h807b86a_5    conda-forge
libnghttp2                1.58.0               h47da74e_1    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libsqlite                 3.45.3               h2797004_0    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx-ng              13.2.0               h7e041cc_5    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libuv                     1.48.0               hd590300_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libzlib                   1.2.13               hd590300_5    conda-forge
markdown-it-py            3.0.0                    pypi_0    pypi
matplotlib-inline         0.1.7              pyhd8ed1ab_0    conda-forge
mccabe                    0.7.0                    pypi_0    pypi
mdurl                     0.1.2                    pypi_0    pypi
mkl                       2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
mkl-devel                 2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
mkl-devel-dpcpp           2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
mkl-dpcpp                 2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
mkl-include               2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
mkl-service               2.4.1           py310h1e356de_0    http://satpkgserver.an.intel.com:8081
mkl_fft                   1.3.8           py310h977b55c_70    http://satpkgserver.an.intel.com:8081
mkl_random                1.2.4           py310hae8aba8_90    http://satpkgserver.an.intel.com:8081
mkl_umath                 0.1.1           py310h9ab9c7e_100    http://satpkgserver.an.intel.com:8081
mypy-extensions           1.0.0                    pypi_0    pypi
ncurses                   6.4.20240210         h59595ed_0    conda-forge
ndindex                   1.8                      pypi_0    pypi
ninja                     1.12.0               h00ab1b0_0    conda-forge
nodeenv                   1.8.0                    pypi_0    pypi
numpy                     1.26.4          py310h689b997_1    http://satpkgserver.an.intel.com:8081
numpy-base                1.26.4          py310h8eeea18_1    http://satpkgserver.an.intel.com:8081
onedpl-devel              2022.6.0              intel_250    http://satpkgserver.an.intel.com:8081
onemkl-sycl-blas          2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-datafitting   2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-dft           2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-lapack        2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-rng           2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-sparse        2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-stats         2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
onemkl-sycl-vm            2024.2.0              intel_243    http://satpkgserver.an.intel.com:8081
openssl                   3.2.1                hd590300_1    conda-forge
outcome                   1.3.0.post0              pypi_0    pypi
packaging                 24.0               pyhd8ed1ab_0    conda-forge
parso                     0.8.4              pyhd8ed1ab_0    conda-forge
pathspec                  0.12.1                   pypi_0    pypi
pbr                       6.0.0                    pypi_0    pypi
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       24.0               pyhd8ed1ab_0    conda-forge
platformdirs              4.2.0                    pypi_0    pypi
pluggy                    1.4.0              pyhd8ed1ab_0    conda-forge
pre-commit                3.7.0                    pypi_0    pypi
prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
proto-plus                1.23.0                   pypi_0    pypi
protobuf                  4.25.3                   pypi_0    pypi
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pyasn1                    0.6.0                    pypi_0    pypi
pyasn1-modules            0.4.0                    pypi_0    pypi
pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
pylint                    3.1.0                    pypi_0    pypi
pyparsing                 3.1.2                    pypi_0    pypi
pysocks                   1.7.1                    pypi_0    pypi
pytest                    8.1.1              pyhd8ed1ab_0    conda-forge
pytest-json-report        1.5.0                    pypi_0    pypi
pytest-metadata           3.1.1                    pypi_0    pypi
pytest-repeat             0.9.3                    pypi_0    pypi
python                    3.10.14              h4499717_1    http://satpkgserver.an.intel.com:8081
python-dateutil           2.9.0.post0              pypi_0    pypi
python-magic              0.4.27                   pypi_0    pypi
python_abi                3.10                    2_cp310    conda-forge
pyyaml                    6.0.1                    pypi_0    pypi
readline                  8.2                  h8228510_1    conda-forge
requests                  2.31.0                   pypi_0    pypi
rhash                     1.4.4                hd590300_0    conda-forge
rich                      13.7.1                   pypi_0    pypi
rsa                       4.9                      pypi_0    pypi
s3transfer                0.10.1                   pypi_0    pypi
scikit-build              0.17.6             pyh4af843d_0    conda-forge
scipy                     1.13.0                   pypi_0    pypi
selenium                  4.19.0                   pypi_0    pypi
setuptools                69.5.1             pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sniffio                   1.3.1                    pypi_0    pypi
sortedcontainers          2.4.0                    pypi_0    pypi
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
stevedore                 5.2.0                    pypi_0    pypi
sysroot_linux-64          2.28                 he073ed8_2    conda-forge
tbb                       2021.13.0             intel_314    http://satpkgserver.an.intel.com:8081
tbb-devel                 2021.13.0             intel_314    http://satpkgserver.an.intel.com:8081
tbb4py                    2021.13.0       py310_intel_314    http://satpkgserver.an.intel.com:8081
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tomlkit                   0.12.5                   pypi_0    pypi
traitlets                 5.14.2             pyhd8ed1ab_0    conda-forge
trio                      0.25.0                   pypi_0    pypi
trio-websocket            0.11.1                   pypi_0    pypi
typing-extensions         4.11.0               hd8ed1ab_0    conda-forge
typing_extensions         4.11.0             pyha770c72_0    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
uritemplate               4.1.1                    pypi_0    pypi
urllib3                   2.2.1                    pypi_0    pypi
virtualenv                20.26.1                  pypi_0    pypi
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
wheel                     0.43.0             pyhd8ed1ab_1    conda-forge
wsproto                   1.2.0                    pypi_0    pypi
xz                        5.2.6                h166bdaf_0    conda-forge
zstd                      1.5.5                hfc55251_0    conda-forge

Driver versions

$ python -m dpctl -f
Platform  0 ::
    Name        Intel(R) OpenCL
    Version     OpenCL 3.0 LINUX
    Vendor      Intel(R) Corporation
    Backend     opencl
    Num Devices 1
      # 0
        Name                12th Gen Intel(R) Core(TM) i7-1270P
        Version             2024.18.4.0.15_160000
        Filter string       opencl:cpu:0
Platform  1 ::
    Name        Intel(R) OpenCL Graphics
    Version     OpenCL 3.0 
    Vendor      Intel(R) Corporation
    Backend     opencl
    Num Devices 1
      # 0
        Name                Intel(R) Graphics [0x46a6]
        Version             23.26.26690.22
        Filter string       opencl:gpu:0
Platform  2 ::
    Name        Intel(R) FPGA Emulation Platform for OpenCL(TM)
    Version     OpenCL 1.2 Intel(R) FPGA SDK for OpenCL(TM), Version 20.3
    Vendor      Intel(R) Corporation
    Backend     opencl
    Num Devices 1
      # 0
        Name                Intel(R) FPGA Emulation Device
        Version             2024.18.4.0.15_160000
        Filter string       opencl:accelerator:0
Platform  3 ::
    Name        Intel(R) Level-Zero
    Version     1.3
    Vendor      Intel(R) Corporation
    Backend     ext_oneapi_level_zero
    Num Devices 1
      # 0
        Name                Intel(R) Graphics [0x46a6]
        Version             1.3.26690
        Filter string       level_zero:gpu:0

WSL info

$ uname -a
Linux vperevez-mobl2 5.10.102.1-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions