Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
39d2ee9
Move array creation exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
75bfb02
Move binary operations exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
bcb3697
Move couting function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
ca4e526
Move functional function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
804098f
Move histogram function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
36c9173
Move indexing function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
f20bdc5
Move linear algebra function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
bebfc84
Move logic function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
defce44
Move manipulation function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
9914214
Move mathematical function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
c152d7b
Move nan function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
6d58414
Move searching function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
fbb7b82
Move sorting function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
a92158a
Move statistics function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
9c96ced
Move trigonometric function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
490c4ef
Move window function exports from dpnp_iface.py to __init__.py
vlad-perevezentsev Nov 12, 2025
68affb3
Merge master into refactor_public_api_exports
vlad-perevezentsev Nov 12, 2025
47d599e
Remove wildcard import dpnp_algo in dpnp_iface.py
vlad-perevezentsev Nov 12, 2025
382f144
Move dpnp_iface exports to __init__.py
vlad-perevezentsev Nov 12, 2025
b5d8308
Merge master into refactor_public_api_exports
vlad-perevezentsev Nov 13, 2025
80ea4fb
Remove unnecessary pylint disables
vlad-perevezentsev Nov 13, 2025
1ee5b5a
Return no-name-in-module pylint disable
vlad-perevezentsev Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
443 changes: 439 additions & 4 deletions dpnp/__init__.py

Large diffs are not rendered by default.

77 changes: 3 additions & 74 deletions dpnp/dpnp_iface.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@

"""
# pylint: disable=protected-access
# pylint: disable=redefined-outer-name

import os

Expand All @@ -51,85 +50,15 @@
from dpctl.tensor._device import normalize_queue_device

import dpnp
from dpnp.dpnp_algo import *
from dpnp.dpnp_array import dpnp_array

__all__ = [
"are_same_logical_tensors",
"asnumpy",
"as_usm_ndarray",
"check_limitations",
"check_supported_arrays_type",
"default_float_type",
"get_dpnp_descriptor",
"get_include",
"get_normalized_queue_device",
"get_result_array",
"get_usm_ndarray",
"get_usm_ndarray_or_scalar",
"is_cuda_backend",
"is_supported_array_or_scalar",
"is_supported_array_type",
"synchronize_array_data",
]

from dpnp.dpnp_iface_arraycreation import *
from dpnp.dpnp_iface_arraycreation import __all__ as __all__arraycreation
from dpnp.dpnp_iface_bitwise import *
from dpnp.dpnp_iface_bitwise import __all__ as __all__bitwise
from dpnp.dpnp_iface_counting import *
from dpnp.dpnp_iface_counting import __all__ as __all__counting
from dpnp.dpnp_iface_functional import *
from dpnp.dpnp_iface_functional import __all__ as __all__functional
from dpnp.dpnp_iface_histograms import *
from dpnp.dpnp_iface_histograms import __all__ as __all__histograms
from dpnp.dpnp_iface_indexing import *
from dpnp.dpnp_iface_indexing import __all__ as __all__indexing
from dpnp.dpnp_iface_linearalgebra import *
from dpnp.dpnp_iface_linearalgebra import __all__ as __all__linearalgebra
from dpnp.dpnp_iface_logic import *
from dpnp.dpnp_iface_logic import __all__ as __all__logic
from dpnp.dpnp_iface_manipulation import *
from dpnp.dpnp_iface_manipulation import __all__ as __all__manipulation
from dpnp.dpnp_iface_mathematical import *
from dpnp.dpnp_iface_mathematical import __all__ as __all__mathematical
from dpnp.dpnp_iface_nanfunctions import *
from dpnp.dpnp_iface_nanfunctions import __all__ as __all__nanfunctions
from dpnp.dpnp_iface_searching import *
from dpnp.dpnp_iface_searching import __all__ as __all__searching
from dpnp.dpnp_iface_sorting import *
from dpnp.dpnp_iface_sorting import __all__ as __all__sorting
from dpnp.dpnp_iface_statistics import *
from dpnp.dpnp_iface_statistics import __all__ as __all__statistics
from dpnp.dpnp_iface_trigonometric import *
from dpnp.dpnp_iface_trigonometric import __all__ as __all__trigonometric
from dpnp.dpnp_iface_window import *
from dpnp.dpnp_iface_window import __all__ as __all__window

# pylint: disable=no-name-in-module
from .dpnp_utils import (
dpnp_descriptor,
map_dtype_to_device,
use_origin_backend,
)

__all__ += __all__arraycreation
__all__ += __all__bitwise
__all__ += __all__counting
__all__ += __all__functional
__all__ += __all__histograms
__all__ += __all__indexing
__all__ += __all__linearalgebra
__all__ += __all__logic
__all__ += __all__manipulation
__all__ += __all__mathematical
__all__ += __all__nanfunctions
__all__ += __all__searching
__all__ += __all__sorting
__all__ += __all__statistics
__all__ += __all__trigonometric
__all__ += __all__window


def are_same_logical_tensors(ar1, ar2):
"""
Expand Down Expand Up @@ -437,7 +366,7 @@ def get_dpnp_descriptor(
# If input object is a scalar, it means it was allocated on host memory.
# We need to copy it to USM memory according to compute follows data.
if dpnp.isscalar(ext_obj):
ext_obj = array(
ext_obj = dpnp.array(
ext_obj,
dtype=alloc_dtype,
usm_type=alloc_usm_type,
Expand All @@ -464,7 +393,7 @@ def get_dpnp_descriptor(
ext_obj_offset = 0

if ext_obj.strides != shape_offsets or ext_obj_offset != 0:
ext_obj = array(ext_obj, order="C")
ext_obj = dpnp.array(ext_obj, order="C")

# while dpnp functions are based on DPNP_QUEUE
# we need to create a copy on device associated with DPNP_QUEUE
Expand All @@ -478,7 +407,7 @@ def get_dpnp_descriptor(
dpctl.utils.get_execution_queue([queue, default_queue]) is not None
)
if not queue_is_default:
ext_obj = array(ext_obj, sycl_queue=default_queue)
ext_obj = dpnp.array(ext_obj, sycl_queue=default_queue)

dpnp_desc = dpnp_descriptor(ext_obj)
if dpnp_desc.is_valid: # pylint: disable=using-constant-test
Expand Down
41 changes: 0 additions & 41 deletions dpnp/dpnp_iface_arraycreation.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,47 +61,6 @@
# pylint: disable=no-name-in-module
from .dpnp_utils import get_usm_allocations, map_dtype_to_device

__all__ = [
"arange",
"array",
"asanyarray",
"asarray",
"ascontiguousarray",
"asfortranarray",
"astype",
"copy",
"diag",
"diagflat",
"empty",
"empty_like",
"eye",
"frombuffer",
"fromfile",
"fromfunction",
"fromiter",
"fromstring",
"from_dlpack",
"full",
"full_like",
"geomspace",
"identity",
"linspace",
"loadtxt",
"logspace",
"meshgrid",
"mgrid",
"ogrid",
"ones",
"ones_like",
"trace",
"tri",
"tril",
"triu",
"vander",
"zeros",
"zeros_like",
]


def _get_empty_array(
a,
Expand Down
15 changes: 0 additions & 15 deletions dpnp/dpnp_iface_bitwise.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,21 +49,6 @@
import dpnp.backend.extensions.ufunc._ufunc_impl as ufi
from dpnp.dpnp_algo.dpnp_elementwise_common import DPNPBinaryFunc, DPNPUnaryFunc

__all__ = [
"binary_repr",
"bitwise_and",
"bitwise_count",
"bitwise_invert",
"bitwise_left_shift",
"bitwise_not",
"bitwise_or",
"bitwise_right_shift",
"bitwise_xor",
"invert",
"left_shift",
"right_shift",
]


def binary_repr(num, width=None):
"""
Expand Down
2 changes: 0 additions & 2 deletions dpnp/dpnp_iface_counting.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@

import dpnp

__all__ = ["count_nonzero"]


def count_nonzero(a, axis=None, *, keepdims=False, out=None):
"""
Expand Down
2 changes: 0 additions & 2 deletions dpnp/dpnp_iface_functional.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@
# pylint: disable=no-name-in-module
from dpnp.dpnp_utils import get_usm_allocations

__all__ = ["apply_along_axis", "apply_over_axes", "piecewise"]


def apply_along_axis(func1d, axis, arr, *args, **kwargs):
"""
Expand Down
9 changes: 0 additions & 9 deletions dpnp/dpnp_iface_histograms.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,6 @@
# pylint: disable=no-name-in-module
from .dpnp_utils import get_usm_allocations

__all__ = [
"bincount",
"digitize",
"histogram",
"histogram_bin_edges",
"histogram2d",
"histogramdd",
]

# range is a keyword argument to many functions, so save the builtin so they can
# use it.
_range = range
Expand Down
30 changes: 0 additions & 30 deletions dpnp/dpnp_iface_indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,36 +64,6 @@
from .dpnp_array import dpnp_array
from .dpnp_utils import call_origin, get_usm_allocations

__all__ = [
"choose",
"compress",
"diag_indices",
"diag_indices_from",
"diagonal",
"extract",
"fill_diagonal",
"flatnonzero",
"indices",
"iterable",
"ix_",
"mask_indices",
"ndindex",
"nonzero",
"place",
"put",
"put_along_axis",
"putmask",
"ravel_multi_index",
"select",
"take",
"take_along_axis",
"tril_indices",
"tril_indices_from",
"triu_indices",
"triu_indices_from",
"unravel_index",
]


def _ravel_multi_index_checks(multi_index, dims, order):
dpnp.check_supported_arrays_type(*multi_index)
Expand Down
15 changes: 0 additions & 15 deletions dpnp/dpnp_iface_linearalgebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,6 @@
dpnp_vecdot,
)

__all__ = [
"dot",
"einsum",
"einsum_path",
"inner",
"kron",
"matmul",
"matvec",
"outer",
"tensordot",
"vdot",
"vecdot",
"vecmat",
]


# TODO: implement a specific scalar-array kernel
def _call_multiply(a, b, out=None, outer_calc=False):
Expand Down
30 changes: 0 additions & 30 deletions dpnp/dpnp_iface_logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,36 +55,6 @@

from .dpnp_utils import get_usm_allocations

__all__ = [
"all",
"allclose",
"any",
"array_equal",
"array_equiv",
"equal",
"greater",
"greater_equal",
"isclose",
"iscomplex",
"iscomplexobj",
"isfinite",
"isfortran",
"isinf",
"isnan",
"isneginf",
"isposinf",
"isreal",
"isrealobj",
"isscalar",
"less",
"less_equal",
"logical_and",
"logical_not",
"logical_or",
"logical_xor",
"not_equal",
]


def _isclose_scalar_tol(a, b, rtol, atol, equal_nan):
"""
Expand Down
63 changes: 0 additions & 63 deletions dpnp/dpnp_iface_manipulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@
"""


# pylint: disable=duplicate-code

import math
import operator
import warnings
Expand Down Expand Up @@ -97,67 +95,6 @@ class UniqueInverseResult(NamedTuple):
inverse_indices: dpnp.ndarray


__all__ = [
"append",
"array_split",
"asarray_chkfinite",
"asfarray",
"atleast_1d",
"atleast_2d",
"atleast_3d",
"broadcast_arrays",
"broadcast_shapes",
"broadcast_to",
"can_cast",
"column_stack",
"concat",
"concatenate",
"copyto",
"delete",
"dsplit",
"dstack",
"expand_dims",
"flip",
"fliplr",
"flipud",
"hsplit",
"hstack",
"insert",
"matrix_transpose",
"moveaxis",
"ndim",
"pad",
"permute_dims",
"ravel",
"repeat",
"require",
"reshape",
"resize",
"result_type",
"roll",
"rollaxis",
"rot90",
"row_stack",
"shape",
"size",
"split",
"squeeze",
"stack",
"swapaxes",
"tile",
"transpose",
"trim_zeros",
"unique",
"unique_all",
"unique_counts",
"unique_inverse",
"unique_values",
"unstack",
"vsplit",
"vstack",
]


def _check_stack_arrays(arrays):
"""Validate a sequence type of arrays to stack."""

Expand Down
Loading
Loading