Conversation
Alexsandruss
left a comment
There was a problem hiding this comment.
Same comments are applicable for multiple places:
|
@KulikovNikita please rename |
|
/intelci: run |
|
@KulikovNikita we have to make versioning for 2024.0.0 features, since this not available yet. That is why we have this build failures |
03b4d73 to
66215c1
Compare
|
/intelci: run |
1 similar comment
|
/intelci: run |
|
/intelci: run |
|
Manually started CI job: http://intel-ci.intel.com/ee86e068-850b-f1b1-8bea-a4bf010d0e2e |
|
Manually started CI job: http://intel-ci.intel.com/ee8779a3-43dc-f172-9b32-a4bf010d0e2e |
ad64186 to
783e704
Compare
|
/intelci: run |
2 similar comments
|
/intelci: run |
|
/intelci: run |
|
/intelci: run |
|
/intelci: run |
1 similar comment
|
/intelci: run |
moved changes to the uxlfoundation#1684
* start from #2195 * add apache license * add files from #1568 * start converting over * attempts to fix copyright checker * remove table_metadata * merge * weird merge * renaming * change location * will implement these elsewhere * move files to follow naming * change headers further * interim standpoint which will fail * interim changes * helper -> utils * move macro to a central spot * remove whitespace * commit before merge * current status * interim * remove and format * more fixes * add fixes * add fixes * more fixes * add fixes * more fixes * more fixes * updates * updates * more fixes * formatting * formatting * formatting * changes * move header include * fix tensor issue * type change * move literals to see if it helps * status * remove inline * move ordering in table.cpp * missing whitespace * change macro section * add some commentary * attempt to shorten with a macro * first fixes for array_api_strict * formatting * remove unneeded code * remove unneeded code * oops * make better logic * attempt to include byte_offset * convert to static_cast entirely * back to reinterpret_cast * add initial tests * remove array api from contiguous test * hide behind if statement, definite a TODO * working on test case failures * switch to length_error * Update test_data.py * Update test_data.py * Update test_data.py * retest with dpnp and dpctl * fix stride counting * begin testing strategy change * add tests * fix mistakes in test * move class out of if statement * Update test_validation.py * remove pandas * missing change * add initial memory leak checking * remove get_namespace * remove dpc backend skip * fix issue in get_namespace change * further fixes * attempt again * address changes * add recursion block on suggestion * Update doc/third-party-programs-sklearnex.txt Co-authored-by: Alexander Andreev <alexander.andreev@intel.com> * add testing for emptys and simple types * rewrite test * attempt to solve empty and dlpack scalars * deal with odd scenario * fix some tests * attempt at making things consistent * oops * try again * try to swap * Update test_data.py * Update dlpack_utils.cpp * Update test_data.py * Update test_data.py * Update test_data.py * Update data_conversion.cpp * Update data_conversion.cpp * try again * bad logic correction * make consistent * std -> py * missing bracket * additional fixes * further homogenation * try again * fix dlpack again * set a ticket up to solve this edge case * Update test_data.py * Update test_data.py * Update dtype_conversion.cpp * Update data_conversion.cpp * Update data_conversion.cpp * Update data_conversion.cpp * Update dtype_conversion.cpp * Update data_conversion.cpp * Update test_data.py * Update test_data.py * Update test_data.py * Update onedal/datatypes/dlpack/dlpack_utils.cpp Co-authored-by: Victoriya Fedotova <viktoria.nn@gmail.com> * Update onedal/datatypes/dlpack/data_conversion.cpp Co-authored-by: Victoriya Fedotova <viktoria.nn@gmail.com> * Update onedal/datatypes/sycl_usm/dtype_conversion.cpp Co-authored-by: Victoriya Fedotova <viktoria.nn@gmail.com> * Update test_data.py * Update test_data.py * Update test_data.py * Update test_data.py * Update dlpack_utils.cpp * Update dlpack_utils.cpp * Update data_conversion.cpp * Update data_conversion.cpp * Update data_conversion.cpp * Update data_conversion.cpp * clang formatting * fight segfault with dpctl * Update data_conversion.cpp * formatting * Update test_data.py * Update test_data.py * formatting' * Update dlpack_utils.cpp --------- Co-authored-by: Alexander Andreev <alexander.andreev@intel.com> Co-authored-by: Victoriya Fedotova <viktoria.nn@gmail.com>
There was a problem hiding this comment.
Pull Request Overview
This PR refactors and expands the data management and interoperability modules by decoupling data structures and isolating conversion functionality. Key modifications include:
- Adding new interop submodules and updating the setup.py logic to include additional packages for newer oneDAL versions.
- Incorporating data conversion wrappers for multiple protocols (PyBuffer, dlpack, sua) and updating SVM training to enforce device policy for sparse input.
- Expanding the interoperability layer with extensive C++ and Python code changes across modules like dlpack, sua, buffer, and CSR table interop.
Reviewed Changes
Copilot reviewed 109 out of 109 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Adds new packages for tests when ONEDAL_VERSION >= 20240001. |
| onedal/svm/svm.py | Introduces a check to restrict sparse input on GPU and updates parameter passing for table conversion. |
| onedal/interop/utils/tensor_and_table.hpp | Introduces utility functions for wrapping tensors to homogen tables using new interop patterns. |
| onedal/interop/utils/tensor_and_array.hpp | Provides functions to wrap arrays from homogen tables with a temporary “Fixed for now” comment in the conversion routine. |
| onedal/interop/sua/* | Implements extensive changes in the sua module to support new SYCL USM array interfaces using dpctl and dpnp fallbacks. |
| onedal/interop/dlpack/* | Adds and refines dlpack conversion routines along with device conversion utilities. |
| onedal/interop/buffer/* | Introduces new functions and utilities for buffer protocol–based interoperability and type conversion. |
| onedal/interop/csr_table.py | Enhances conversion logic between native onedal CSR tables and SciPy sparse matrices. |
| onedal/interop/common.hpp | Adds helper functions for endian detection and inverse map computations. |
Comments suppressed due to low confidence (1)
onedal/interop/utils/tensor_and_array.hpp:137
- [nitpick] Clarify or document the temporary fix with specific details about future improvements to avoid ambiguity for future developers.
return tensor;
| @@ -272,8 +275,12 @@ def _fit(self, X, y, sample_weight, module, queue): | |||
| self._scale_, self._sigma_ = self._compute_gamma_sigma(self.gamma, X) | |||
|
|
|||
| policy = _get_policy(queue, X, y, sample_weight) | |||
There was a problem hiding this comment.
Consider adding a brief comment explaining why sparse inputs are not supported on GPU to aid future maintainers.
| policy = _get_policy(queue, X, y, sample_weight) | |
| policy = _get_policy(queue, X, y, sample_weight) | |
| # Sparse inputs are not supported on GPU due to limitations in efficient sparse matrix | |
| # operations and compatibility issues with the underlying GPU libraries. |
PyBufferprotocol (viapybind11intermediate) - input & outputdlpackprotocol - input onlySycl Usm Array Interfaceakasua- input & output