Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
d4fd805
Rename folder dpctl to dpctl_ext
vlad-perevezentsev Feb 2, 2026
c040713
Add simplify_iteration_space implementation to libtensor
vlad-perevezentsev Feb 5, 2026
14b466f
Extend codespell ignore list for libtensor
vlad-perevezentsev Feb 5, 2026
dcc421b
Add copy_and_cast kernels to libtensor
vlad-perevezentsev Feb 5, 2026
5a9c14c
Add copy_usm_ndarray_into_usm_ndarray implementation
vlad-perevezentsev Feb 5, 2026
4f63340
Add pybind11 bindings for dpctl_ext.tensor._tensor_impl
vlad-perevezentsev Feb 5, 2026
634579c
Add CMake build files for dpctl_ext
vlad-perevezentsev Feb 5, 2026
79d40f2
Add empty __init__ to dpctl_ext/
vlad-perevezentsev Feb 5, 2026
7949c17
Enable _same_logical_tensors in _tensor_impl
vlad-perevezentsev Feb 5, 2026
29d6c02
Add device_support_queries to enable default device types
vlad-perevezentsev Feb 5, 2026
936e719
Enable building and packaging of dpctl_ext
vlad-perevezentsev Feb 5, 2026
cd85f1e
Use _tensor_impl from dpctl_ext.tensor in dpnp
vlad-perevezentsev Feb 5, 2026
0c6780a
Move put() and take() to dpctl_ext/tensor
vlad-perevezentsev Feb 5, 2026
87e5482
Use put/take from dpctl_ext.tensor in dpnp
vlad-perevezentsev Feb 5, 2026
b537f30
Move full() to dpctl_ext/tensor
vlad-perevezentsev Feb 5, 2026
d50f263
Use full and _full_usm_ndarray from dpctl_ext in dpnp
vlad-perevezentsev Feb 6, 2026
f189dc5
Update .gitignore to ignore .so files in dpctl_ext
vlad-perevezentsev Feb 6, 2026
f9a1817
Move _zeros_usm_ndarray to dpctl_ext
vlad-perevezentsev Feb 6, 2026
4b8505a
Use _zeros_usm_ndarray from dpctl_ext in dpnp_fill.py
vlad-perevezentsev Feb 6, 2026
61106b2
Move linear-sequence implementations to dpctl_ext/tensor
vlad-perevezentsev Feb 6, 2026
a030579
Use _tensor_impl from dpctl_ext in dpnp_utils_fft.py
vlad-perevezentsev Feb 6, 2026
a1d6fa3
Move tril()/triu() to dpctl_ext/tensor
vlad-perevezentsev Feb 6, 2026
f1d6e56
Use tril/triu/_tril from dpctl_ext.tensor in dpnp
vlad-perevezentsev Feb 6, 2026
6680790
Disable pylint no-name-in-module for dpctl_ext
vlad-perevezentsev Feb 9, 2026
263b717
Add TODO comments
vlad-perevezentsev Feb 12, 2026
4130c1b
Use default_device_complex_type from dpctl_ext on test_array_api_info.py
vlad-perevezentsev Feb 12, 2026
17ca9ab
Remove unused build_dpctl_ext function
vlad-perevezentsev Feb 12, 2026
79cb2a4
Apply remarks for CMake files
vlad-perevezentsev Feb 12, 2026
4bf080e
Apply remarks for c++ files
vlad-perevezentsev Feb 12, 2026
cfa6cd6
Remove linear-sequence implementations
vlad-perevezentsev Feb 16, 2026
e0e50ac
Merge move_tensor_impl_ext into move_tensor_impl_ext_part_2
vlad-perevezentsev Feb 16, 2026
087a2ec
Use _tensor_impl from dpctl_ext in dpnp
vlad-perevezentsev Feb 16, 2026
f4492fb
Add missing include
vlad-perevezentsev Feb 16, 2026
b367c9f
Use nested namespace syntax
vlad-perevezentsev Feb 16, 2026
3113716
Add missing include complex
vlad-perevezentsev Feb 17, 2026
978afee
Add missing memory and queue checks
vlad-perevezentsev Feb 17, 2026
fec84ec
Move ti._copy_numpy_ndarray_into_usm_ndarray()
vlad-perevezentsev Feb 17, 2026
497e810
Move asnumpy(),from_numpy(), to_numpy() to dpctl_ext/tensor
vlad-perevezentsev Feb 17, 2026
3be4e14
Update dpnp.asnumpy to use dpctl_ext functions
vlad-perevezentsev Feb 17, 2026
1d88365
Move copy(), astype() to dpctl_ext/tensor
vlad-perevezentsev Feb 17, 2026
fd18db0
reuse astype(), copy() from dpctl_ext
vlad-perevezentsev Feb 17, 2026
0976171
Move _copy_usm_ndarray_for_reshape
vlad-perevezentsev Feb 17, 2026
318692e
Move reshape() to dpctl_ext/tensor
vlad-perevezentsev Feb 17, 2026
3c0c113
Reuse reshape from dpctl_ext in dpnp
vlad-perevezentsev Feb 17, 2026
30f2c53
Move _copy_usm_ndarray_for_roll
vlad-perevezentsev Feb 17, 2026
85c29da
Move roll() to dpctl_ext/tensor
vlad-perevezentsev Feb 17, 2026
6e8d857
Update dpnp.roll to use dpctl_ext
vlad-perevezentsev Feb 17, 2026
19e93b9
Update .gitignore to ignore .so files in dpctl_ext
vlad-perevezentsev Feb 18, 2026
b111e49
Remove unused includes in tensor_ctors.cpp
vlad-perevezentsev Feb 18, 2026
c082224
Use Python::Module for dpctl_ext static lib to avoid libpython depend…
vlad-perevezentsev Feb 18, 2026
9e7deb3
Merge move_tensor_impl_ext into move_tensor_impl_ext_part_2
vlad-perevezentsev Feb 18, 2026
1a736f7
Merge include-dpctl-tensor into move_tensor_impl_ext_part_2
vlad-perevezentsev Feb 19, 2026
8bde614
Merge move_tensor_impl_ext_part_2 into move_tensor_impl_copy
vlad-perevezentsev Feb 19, 2026
c3bc8ba
Move ti.mask_positions() and ti._cumsum_1d()
vlad-perevezentsev Feb 19, 2026
69b36b2
Move ti._extract(), ti._place(), ti._nonzero()
vlad-perevezentsev Feb 19, 2026
70a0fc6
Move place() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
afa5411
Move extract() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
7feb4ee
Move nonzero() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
f63f2f0
Move put_along_axis to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
6fecefe
Move take_along_axis() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
b60d095
Move ti._eye to() to dpctl_ext/tensor/libtensor
vlad-perevezentsev Feb 19, 2026
a1eea4e
Move eye() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
95ccf70
Move ti._repeat... to dpctl_ext/tensor
vlad-perevezentsev Feb 19, 2026
43f97cf
Move repeat() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 19, 2026
9b248f4
Move ti._where() to dpctl_ext/tensor/libtensor
vlad-perevezentsev Feb 19, 2026
24425cf
Move _type_utils.py to dpctl_ext/tensor
vlad-perevezentsev Feb 19, 2026
c88297c
Use import _type_utils from dpctl_ext
vlad-perevezentsev Feb 20, 2026
9207fc5
Move _broadcast_shape_impl to dpctl_ext/tenspr/_manipulation_fucntion…
vlad-perevezentsev Feb 20, 2026
ebbce34
Reuse can_cast() from dpctl_ext/tensor
vlad-perevezentsev Feb 20, 2026
6a13333
Reuse finfo(), iinfo(), isdtype() from dpctl_ext/tensor
vlad-perevezentsev Feb 20, 2026
de2c429
Reuse result_type() from dpctl_ext/tensor
vlad-perevezentsev Feb 20, 2026
9a97002
Move _scalar_utils.py to dpctl_ext/tensor
vlad-perevezentsev Feb 20, 2026
15c467d
Move where() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 20, 2026
134bb35
Update imports in dpnp/dpnp_iface_indexing.py
vlad-perevezentsev Feb 20, 2026
5fa6ee7
Merge move_tensor_impl_accum_bool_ind_eye into move_tensor_impl_repea…
vlad-perevezentsev Feb 20, 2026
c58b531
Enable -fno-fast-math compiler flag
vlad-perevezentsev Feb 20, 2026
4f00632
Move _clip to dpctl_ext/tensor/libtensor
vlad-perevezentsev Feb 20, 2026
5d45d85
Move clip() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 20, 2026
e70425b
Populate dispatch tables with where
vlad-perevezentsev Feb 20, 2026
36919c1
Move _linspace_step/_linspace_affine to dpctl_ext/tensor/libtensor
vlad-perevezentsev Feb 23, 2026
95ac4f7
Move ti.linspace() and reuse it in dpnp
vlad-perevezentsev Feb 23, 2026
1054e2d
Move ti.empty() and reuse it in dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
d493454
Reuse dpctl_ext.tensor.empty() in dpnp
vlad-perevezentsev Feb 23, 2026
186ae3c
Move ti.empty_like() and reuse it in dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
5503b9a
Reuse dpctl_ext.tensor.empty_like() in dpnp
vlad-perevezentsev Feb 23, 2026
748c5b5
Move ti.arange() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 23, 2026
a7370a8
Move ti.asarray() and reuse it in dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
effcbe8
Reuse dpctl_ext.tensor.asarray() in dpnp
vlad-perevezentsev Feb 23, 2026
f9f547a
Move ti.full_like() to dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
0d84d7b
Move ti.meshgrid() to dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
8c15ddb
Move ti.ones() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 23, 2026
23d2229
Move ti.ones_like() to dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
97dc7e1
Move ti.zeros() to dpctl_ext/tensor and reuse it in dpnp
vlad-perevezentsev Feb 23, 2026
a6c397e
Move ti.zeros_like() to dpctl_ext/tensor
vlad-perevezentsev Feb 23, 2026
b8c5390
Move ti.broadcast_to() to dpctl_ext/tensor and reuse it in dpctl_ext/…
vlad-perevezentsev Feb 23, 2026
a7cbfdc
Reuse dpctl_ext.tensor.broadcast_to() in dpnp
vlad-perevezentsev Feb 23, 2026
bd265da
Move ti.broadcast_arrays() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
080c7d8
Move ti.concat() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
ea7ea3c
Move ti.expand_dims() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
d2e9279
Move ti.flip() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
4e63cca
Move ti.permute_dims() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
9c88edb
Move ti.moveaxis() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
ba51636
Move ti.squeeze() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
bb16c19
Move ti.stack() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
ccad5f0
Move ti.swapaxes() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
b5e3541
Move ti.tile() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
325729b
Move ti.unstack() to dpctl_ext.tensor and reuse it
vlad-perevezentsev Feb 23, 2026
4552e78
Initialize _tensor_accumulation_impl extension and move _cumsum_over_…
vlad-perevezentsev Feb 27, 2026
6b81e7a
Move ti.cumulative_sum() and reuse it in dpnp
vlad-perevezentsev Feb 27, 2026
5af94c8
Move _cumprod_over_axis to dpctl_ext.tensor._tensor_accumulation_impl
vlad-perevezentsev Mar 2, 2026
91547cc
Add missing include
vlad-perevezentsev Mar 2, 2026
668f3fb
Move ti.cumulative_prod() and reuse it in dpnp
vlad-perevezentsev Mar 2, 2026
72d2109
Move _cumlogsumexp_over_axis to dpctl_ext.tensor._tensor_accumulation…
vlad-perevezentsev Mar 2, 2026
d8c3680
Move ti.cumulative_logsumexp() and reuse it in dpnp
vlad-perevezentsev Mar 2, 2026
ada8a5c
Merge include-dpctl-tensor into move_tensor_accumulation_impl
vlad-perevezentsev Mar 5, 2026
85ef3e0
Apply remarks
vlad-perevezentsev Mar 5, 2026
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
32 changes: 24 additions & 8 deletions dpctl_ext/tensor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,16 @@ set(_tensor_impl_sources
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/repeat.cpp
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/clip.cpp
)
set(_accumulator_sources
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/accumulators/accumulators_common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/accumulators/cumulative_logsumexp.cpp
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/accumulators/cumulative_prod.cpp
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/accumulators/cumulative_sum.cpp
)
set(_tensor_accumulation_impl_sources
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/tensor_accumulation.cpp
${_accumulator_sources}
)

set(_static_lib_trgt simplify_iteration_space)

Expand All @@ -85,6 +95,12 @@ add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_impl_sources})
target_link_libraries(${python_module_name} PRIVATE ${_static_lib_trgt})
list(APPEND _py_trgts ${python_module_name})

set(python_module_name _tensor_accumulation_impl)
pybind11_add_module(${python_module_name} MODULE ${_tensor_accumulation_impl_sources})
add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_accumulation_impl_sources})
target_link_libraries(${python_module_name} PRIVATE ${_static_lib_trgt})
list(APPEND _py_trgts ${python_module_name})

set(_clang_prefix "")
if(WIN32)
set(_clang_prefix "/clang:")
Expand All @@ -97,14 +113,14 @@ set(_no_fast_math_sources
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/clip.cpp
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/where.cpp
)
#list(
#APPEND _no_fast_math_sources
# ${_elementwise_sources}
# ${_reduction_sources}
# ${_sorting_sources}
# ${_linalg_sources}
# ${_accumulator_sources}
#)
list(
APPEND _no_fast_math_sources
# ${_elementwise_sources}
# ${_reduction_sources}
# ${_sorting_sources}
# ${_linalg_sources}
${_accumulator_sources}
)

foreach(_src_fn ${_no_fast_math_sources})
get_source_file_property(_cmpl_options_prop ${_src_fn} COMPILE_OPTIONS)
Expand Down
4 changes: 4 additions & 0 deletions dpctl_ext/tensor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
# *****************************************************************************


from ._accumulation import cumulative_logsumexp, cumulative_prod, cumulative_sum
from ._clip import clip
from ._copy_utils import (
asnumpy,
Expand Down Expand Up @@ -92,6 +93,9 @@
"concat",
"copy",
"clip",
"cumulative_logsumexp",
"cumulative_prod",
"cumulative_sum",
"empty",
"empty_like",
"extract",
Expand Down
Loading
Loading