Complete dpctl tensor removal#3091
Conversation
|
/intelci: run |
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 24 files with indirect coverage changes 🚀 New features to boost your workflow:
|
|
/intelci: run |
CI Failure Triage ReportRun: 23814899308 | Date: 2026-03-31 Failed Jobs: LinuxNightly/venv Python3.14_Sklearn1.8
AnalysisCI Failure Analysis1. Failure Classification: PR-specific2. Root Cause:The failure is caused by the removal of the 3. Evidence:
4. Relevant Code Changes:The most problematic changes in the diff are: # In onedal/_device_offload.py - Line 162-166
# BEFORE:
return (
copy_to_dpnp(queue, result)
if is_dpnp_ndarray(data)
else copy_to_usm(queue, result) # This function was removed!
)
# AFTER:
return copy_to_dpnp(queue, result)And the complete removal of
5. Recommendation:Immediate actions needed:
Debugging steps: # Run the specific failing test locally
pytest linear_model/tests/test_ridge.py::test_ridge_regression_check_arguments_validity -vThe issue likely stems from incomplete migration from the old Similar failures in recent runs
Generated by CI Triage Bot |
|
@ethanglaser You also need to remove here: |
david-cortes-intel
left a comment
There was a problem hiding this comment.
LGTM, pending CI results.
|
/intelci: run |
There was a problem hiding this comment.
Pull request overview
This PR completes the removal of dpctl.tensor support across sklearnex and onedal, aligning tests, utilities, and data conversion/offload paths to use dpnp (and/or Array API) instead.
Changes:
- Remove
dpctl.tensorhandling from array-namespace detection and table/data conversion utilities. - Update GPU/SPMD and validation test matrices to stop parametrizing
dpctltensor inputs and focus ondpnp+ Array API. - Simplify SYCL output re-wrapping paths to return
dpnpoutputs for SYCL-USM inputs.
Reviewed changes
Copilot reviewed 42 out of 42 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| sklearnex/utils/tests/test_validation.py | Update supported dataframe list and comments to replace dpctl with dpnp. |
| sklearnex/utils/tests/test_class_weight.py | Remove dpctl from array API test parametrization. |
| sklearnex/utils/_array_api.py | Update comments/docstring wording to remove dpctl references. |
| sklearnex/tests/test_patching.py | Remove dpctl branches/skips and update comments for dpnp-only testing. |
| sklearnex/tests/test_common.py | Treat dpnp as an actively-loaded framework in lazy-import checks. |
| sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py | Drop dpctl from GPU SPMD dataframe filters and update comments. |
| sklearnex/spmd/ensemble/tests/test_forest_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/decomposition/tests/test_pca_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py | Drop dpctl from GPU SPMD dataframe filters and update comments. |
| sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py | Drop dpctl from GPU SPMD dataframe filters and update comments. |
| sklearnex/spmd/covariance/tests/test_covariance_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/cluster/tests/test_kmeans_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/cluster/tests/test_dbscan_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py | Drop dpctl from GPU SPMD dataframe filters and update comments. |
| sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py | Drop dpctl from GPU SPMD dataframe filters. |
| sklearnex/preview/decomposition/tests/test_incremental_pca.py | Remove dpctl from dataframe parametrization. |
| sklearnex/preview/covariance/covariance.py | Update comments referring to dpnp/dpctl behavior to dpnp-only. |
| sklearnex/neighbors/knn_classification.py | Update comment examples to remove dpctl. |
| sklearnex/neighbors/common.py | Update comment about device-aware allocation to remove dpctl. |
| sklearnex/neighbors/_lof.py | Update comment about queue retention to remove dpctl. |
| sklearnex/manifold/tests/test_tsne.py | Update comment about numpy conversion to remove dpctl.tensor. |
| sklearnex/linear_model/tests/test_logreg.py | Update test docstring to remove dpctl mention. |
| sklearnex/dummy/tests/test_dummy.py | Remove dpctl from dataframe parametrization. |
| sklearnex/dummy/_dummy.py | Update module-level documentation comments to remove dpctl references. |
| sklearnex/decomposition/tests/test_pca.py | Remove dpctl from dataframe parametrization. |
| sklearnex/decomposition/pca.py | Update comment to remove dpctl mention. |
| sklearnex/covariance/incremental_covariance.py | Update comments referring to dpnp/dpctl behavior to dpnp-only. |
| sklearnex/_device_offload.py | Remove copy_to_usm usage and always rewrap SYCL outputs via copy_to_dpnp. |
| onedal/utils/tests/test_validation.py | Remove dpctl from dataframe parametrization in validation tests. |
| onedal/utils/_third_party.py | Remove is_dpctl_tensor helper and update dpctl-related comments. |
| onedal/utils/_array_api.py | Remove dpctl.tensor namespace mapping; SYCL namespace mapping now dpnp-only. |
| onedal/tests/utils/_dataframes_support.py | Remove dpctl dataframe support and default framework list entry. |
| onedal/datatypes/tests/test_data.py | Remove dpctl from dataframe parametrization; switch dlpack test to dpnp. |
| onedal/datatypes/tests/common.py | Update USM attribute assertion helper to operate on dpnp arrays only. |
| onedal/datatypes/_sycl_usm.py | Remove dpctl-based USM allocation path; implement device copy via dpnp.asarray. |
| onedal/datatypes/_dlpack.py | Update comment to remove dpctl reference. |
| onedal/datatypes/_data_conversion.py | Remove dpctl tensor return-type construction path and warnings. |
| onedal/datatypes/init.py | Stop exporting copy_to_usm; keep copy_to_dpnp. |
| onedal/_device_offload.py | Remove copy_to_usm usage and always rewrap SYCL outputs via copy_to_dpnp. |
Description
Carrying out entirety of #2764
Checklist:
Completeness and readability
Testing