This article includes the Release Notes for Intel® oneAPI Data Analytics Library (oneDAL)
Version History
Document revision | Date | Change History |
---|---|---|
2025.0 | 2024-10-21 | 2025.0 Release Update |
2024.6.0 | 2024-07-25 | 2024.6.0 Release Update |
2024.5.0 | 2024-06-13 | 2024.5.0 Release Update |
2024.3.0 | 2024-04-22 | 2024.3.0 Release Update |
2024.2.0 | 2024-03-22 | 2024.2.0 Release Update |
2024.1.0 | 2024-01-26 | 2024.1.0 Release Update |
2024.0.1 | 2023-12-20 | 2024.0.1 Release Update |
2024.0 | 2023-11-17 | 2024.0 Release Update |
2023.2 | 2023-7-13 | 2023.2 Release Update |
2023.1 | 2023-3-30 | 2023.1 Release Update |
2023.0 | 2022-12-16 | 2023.0 Release Update |
2022.3.1 | 2022-11-10 | 2022.3.1 Release Update |
2022.3 | 2022-9-27 | 2022.3 Release Update |
2022.2 | 2022-4-13 | 2022.2 Release Update |
2022.1 | 2021-12-7 | 2022.1 Release Update |
2021.4 | 2021-9-29 | 2021.4 Release Update |
2021.3 | 2021-6-22 | 2021.3 Release Update |
2021.2 | 2021-3-29 | 2021.2 Release Update |
2021.1 | 2020-12-07 | 2021.1 Release Update |
Overview
oneDAL is the library of Intel® architecture optimized building blocks covering all stages of compute-intense data analytics: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making.
System Requirements
Please see dedicated system requirements article.
2025.0
Deprecation Notice
- Starting with the 2025.0 release, the following functionality is removed from oneDAL: openCL kernels, DAAL GPU functionality
- ABI compatibility is to be broken as part of the 2026.0 release of oneDAL. The library’s major version is to be incremented to four to enforce the relinking of existing applications
What's New
- Introduced new Intel® oneDAL functionality:
- Enabled calculation of SHAP values for binary classification models required for explainability RF algorithms
- oneDAL ICX build support
- Improved Intel® oneDAL performance for the following algorithms:
- Decision Forest
- Introduced new Intel® Extension for Scikit-learn* functionality:
- Enabled functional support for Array API
- k-Means algorithm is moved out of preview namespace
- SHAP value support for XGBoost's binary classification models
- SPMD interfaces support:
- Incremental Linear Regression
- Incremental PCA
- Incremental Empirical Covariance
2024.6.0
What's New
- Introduced new oneDAL functionality:
- Ridge Regression support in oneAPI interfaces.
- Sparsity support for Logistic Regression algorithm.
- Added TBB scheduler handle.
- Introduced new Intel® Extension for Scikit-learn* functionality:
- Incremental PCA algorithm.
- NumPy 2.0 support.
- scikit-learn 1.5 support.
- CSR data support in Basic Statistics algorithm.
- Bug fixes:
- oneDAL:
- Fix loop not vectorized warning when running with newer icpx compiler.
- Fix usage of sequential execution branches.
- Fix dpc compilation for OS=win and COMPILER=vc.
- Extension for Scikit-learn*:
- Fix incorrect numpy to table conversion on Windows.
- Fix iss ues with dpnp/dpctl regressor score method.
- oneDAL:
What's New
- Introduced new oneDAL functionality:
- DPC++ sparse GEMM and GEMV primitives.
- Data type support in read function.
- Online distributed PCA.
- Sparsity support for logloss function primitive.
- Introduced new Intel® Extension for Scikit-learn* functionality:
- Incremental Linear Regression( IncrementalLinearRegression ) interface.
- Incremental Empirical Covariance (IncrementalEmpiricalCovariance) interface to patch_map.
- Bug fixes:
- oneDAL:
- sycl barrier() deprecation alternative.
- Distributed PCA singular values computation fix.
- Fix event dependencies for PCA infer on all supported Intel® GPU. See the link to the oneDAL System Requirements.
- Extension for Scikit-learn*:
- Fix Intel® Distribution for Python* and Intel® Data Parallel Control libraries F-contiguous data processing.
- oneDAL:
What's New
- Introduced new oneDAL functionality:
- k-Means sparsity support
- Online support of distributed Covariance algorithm
- Added inner_iterations_count result option to LogisticRegression
- Introduced new Intel® Extension for Scikit-learn* functionality:
- model_selection in sklearnex namespace
- SPMD backend library is separated from dpc backend
- PCA algorithm is moved out of preview namespace
- Improved Intel® Extension for Scikit-learn* performance for the following algorithms:
- PCA
- Deprecation Notice for future releases:
- Sklearn estimators in onedal4py LinReg and k-Means algorithms is deprecated for usage
- Bug fixes:
- oneDAL:
- Fix FPK exports on Windows
- Fix csr_accessor crash when moving data from USM or host memory to host memory
- Fix 'test_patching' routines for intelex-only sklearnex estimators
- Update sklearnex init based on SPMD backend changes
- Fix import error by adding conditional check of OFF_ONEDAL_IFACE flag when importing onedal
- oneDAL:
What's New
- Introduced new oneDAL functionality:
- Optional results in k-Means inference
- GPU support of SVD method of PCA algorithm
- Improved oneDAL performance for the following algorithms:
- k-Means
- Introduced new Intel® Extension for Scikit-learn* functionality:
- Incremental Covariance algorithm
- Logistic Regression algorithm is moved out of preview namespace
- SPMD interfaces support: Logistic Regression, Covariance
- Enabled scikit-learn 1.4 support
- Bug fixes:
- oneDAL:
- Fix FPK exports on Windows
- Replace deprecated sycl::abs to sycl::fabs
- Intel® Extension for Scikit-learn*:
- Adjusted n_jobs parameter setting
- Updated DPCPP detection in setup
- Fix of k-Means SPMD timeout
- Correct disabling of CatBoost SHAP
- Fix LocalOutlierFactor kneighbors method
- oneDAL:
Notes
For the 2024.2 release, the Third Party Programs file has been included as a section in this product’s release notes rather than as a separate text file.
Third Party Programs File
Intel® oneAPI Data Analytics Library (oneDAL) Third Party Programs File
This file is the "third-party-programs.txt" file specified in the associated Intel end user license agreement for the Intel software you are licensing.
The third party programs and their corresponding required notices and/or license terms are listed below.
=========================================================================
1. Intel® oneAPI Math Kernel Library (oneMKL)
Copyright 2020 Intel Corporation
Intel® oneAPI Threading Building Blocks (oneTBB)
Copyright 2020 Intel Corporation
Intel Simplified Software License (Version October 2022)
Use and Redistribution. You may use and redistribute the software, which is provided in binary form only, (the “Software”), without modification, provided the following conditions are met:
* Redistributions must reproduce the above copyright notice and these terms of use in the Software and in the documentation and/or other materials provided with the distribution.
* Neither the name of Intel nor the names of its suppliers may be used to endorse or promote products derived from this Software without specific prior written permission.
* No reverse engineering, decompilation, or disassembly of the Software is permitted, nor any modification or alteration of the Software or its operation at any time, including during execution.
No other licenses. Except as provided in the preceding section, Intel grants no licenses or other rights by implication, estoppel or otherwise to, patent, copyright, trademark, trade name, service mark or other intellectual property licenses or rights of Intel.
Third party software. “Third Party Software” means the files (if any) listed in the “third-party-software.txt” or other similarly-named text file that may be included with the Software. Third Party Software, even if included with the distribution of the Software, may be governed by separate license terms, including without limitation, third party license terms, open source software notices and terms, and/or other Intel software license terms. These separate license terms solely govern Your use of the Third Party Software.
DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND ATTORNEYS’ FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
No support. Intel may make changes to the Software, at any time without notice, and is not obligated to support, update or provide training for the Software.
Termination. Your right to use the Software is terminated in the event of your breach of this license.
Feedback. Should you provide Intel with comments, modifications, corrections, enhancements or other input (“Feedback”) related to the Software, Intel will be free to use, disclose, reproduce, license or otherwise distribute or exploit the Feedback in its sole discretion without any obligations or restrictions of any kind, including without limitation, intellectual property rights or licensing obligations.
Compliance with laws. You agree to comply with all relevant laws and regulations governing your use, transfer, import or export (or prohibition thereof) of the Software.
Governing law. All disputes will be governed by the laws of the United States of America and the State of Delaware without reference to conflict of law principles and subject to the exclusive jurisdiction of the state or federal courts sitting in the State of Delaware, and each party agrees that it submits to the personal jurisdiction and venue of those courts and waives any objections. THE UNITED NATIONS CONVENTION ON CONTRACTS FOR THE INTERNATIONAL SALE OF GOODS (1980) IS SPECIFICALLY EXCLUDED AND WILL NOT APPLY TO THE SOFTWARE.
=========================================================================
2. Intel intel-64-architecture-processor-topology-enumeration
Copyright 2008-2016 Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Neither the name of the Intel Corp. nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=========================================================================
3. libcpmt.lib
libcmt.lib
winttrust.lib
Copyright Microsoft Corp.
1. License. This software package from Intel (the “Software Package”) contains code from Microsoft (the “Distributable Code”). You are provided a non-transferable, non-exclusive, non-sublicensable, limited right and license only to use and redistribute the Distributable Code as part of this Software Package. You are not allowed to copy, modify, remove the Distributable Code from the Software Package or redistribute the Distributable Code on a stand-alone basis.
2. Restrictions. The Distributable Code is licensed, not sold. You are only provided the above rights to use the Distributable Code. Intel and Microsoft reserve all other rights. Unless applicable law gives you more rights, you may use the Distributable Code only as expressly permitted in these terms. In using the Distributable Code, you must comply with any technical limitations in the Distributable Code that only allow you to use it in certain ways. You may not:
• work around any technical limitations in the Distributable Code;
• reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the Distributable Code, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the Distributable Code;
• remove, minimize, block or modify any notices of Intel, Microsoft or its suppliers in the Distributable Code;
• use the Distributable Code in any way that is against the law; or
• share, publish, rent or lease the software, or provide the Distributable Code as a stand-alone offering for others to use.
3. NO WARRANTY. THE DISTRIBUTABLE CODE IS PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.
4. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM INTEL, MICROSOFT OR THEIR SUPPLIERS ONLY DIRECT DAMAGES UP TO $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the Distributable Code; and (b) claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. It also applies even if Intel or Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state or country may not allow the exclusion or limitation of incidental, consequential or other damages.
=========================================================================
4. Pybind
Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>, All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Please also refer to the file .github/CONTRIBUTING.md, which clarifies licensing of
external contributions to this project including patches, pull requests, etc.
=========================================================================
5. cuML
Copyright 2018 NVIDIA CORPORATION
xgboost
Copyright 2020, xgboost developers
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018 NVIDIA CORPORATION
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
=========================================================================
6. FastTreeSHAP
Copyright 2021 LinkedIn Corporation All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------
The following third party programs have their own third party programs. These additional third party program files are as follows:
1. Intel® Math Kernel Library (Intel® MKL): third-party-programs-mkl.txt file
2. Intel® oneAPI Threading Building Blocks (oneTBB): third-party-programs-onetbb.txt file
-------------------------------------------------------------
What's New
- New oneDAL functionality:
- Enabled distributed computations for LogisticRegression algorithm
- Basic statistics algorithm for sparse data
- Added new parameters to oneDAL algorithms:
- Bias parameter to Covariance algorithm
- Improved oneDAL performance for the following algorithms:
- DBSCAN
- Distributed version of kNN
- New Intel® Extension for Scikit-learn* functionality:
- SHAP support for symmetric CatBoost models
- Added oneDAL LinReg and Covariance hyperparameters API
- Added LogisticRegression interface to preview section
- Initial support of n_jobs parameter
What's New
- New oneDAL functionality:
- Introduced Logistic Regression algorithm
- Introduced online algorithms support: Moments of Low Order, PCA, Linear Regression
- Introduced dispatching in oneAPI covariance algorithm
- New Intel® Extension for Scikit-learn* functionality:
- Linear Regression and ensemble algorithms are moved out of preview namespace
- Added Python 3.12 support for daal4py and Intel® Extension for Scikit-learn* packages
- New Model Builders functionality:
- SHAP calculation is added to GBT regression
Support Materials
Created Kaggle kernels for Intel® Extension for Scikit-learn:
- PS-S3-Ep23-with-scikit-learn-intelex
- pss3e23 fusion_model with scikit-learn-intelex
- PS S3E25: Faster regression tuning with sklearnex
Articles:
Adoption
Removals and ABI compatibility
- The compression functionality in the oneDAL library is deprecated. Starting with the 2024.0 release, oneDAL does not support the compression functionality
- The DAAL CPP SYCL Interfaces in the oneDAL library are deprecated. Starting with the 2024.0 release, oneDAL does not support the DAAL CPP SYCL Interfaces
- The Java* interfaces in the oneDAL library are deprecated. Starting with the 2024.0 release, oneDAL does not support these Java* interfaces
- ABI compatibility is broken as part of the 2024.0 release of oneDAL. The library’s major version is incremented to two to enforce the relinking of existing applications
Library Engineering
- Compressed sparse rows (CSR) accessor has been changed and moved from detail namespace. The support of USM memory was added into this class
- Centralized parameters selection library has been introduced in the release
What's New
- Introduced new Intel® oneDAL functionality:
- Online algorithms support: Covariance
- Structure of arrays (SOA) Tables
- Introduced new functionality for Intel® Extension for Scikit-learn:
- DBSCAN and SPMD DBSCAN algorithms
Deprecation Notice for future releases
- The following algorithms in DAAL Interfaces in the oneDAL library are deprecated: k-Means, Covariance, PCA, Logistic Regression, Linear Regression, Random Forest, kNN, SVM, DBSCAN, Low-order moments. Starting with the 2025.0 release, oneDAL will not support these algorithms in DAAL Interfaces
- ABI compatibility is to be broken as part of the 2025.0 release of oneDAL. The library’s major version is to be incremented to three to enforce the relinking of existing applications
Directory Layout
Directory layout is improved across all products to streamline installation and setup.
The Unified Directory Layout is implemented in 2024.0. If you have multiple toolkit versions installed, the Unified layout ensures that your development environment contains the correct component versions for each installed version of the toolkit.
The directory layout used before 2024.0, the Component Directory Layout, is still supported on new and existing installations.
For detailed information about the Unified layout, including how to initialize the environment and advantages with the Unified layout, refer to Use the setvars and oneapi-vars Scripts with Linux and Use the setvars and oneapi-vars Scripts with Windows.
Deprecation Notice
- The compression functionality in the oneDAL library is deprecated. Starting with the 2024.0 release, oneDAL will not support the compression functionality
- The DAAL CPP SYCL Interfaces in the oneDAL library are deprecated. Starting with the 2024.0 release, oneDAL will not support the DAAL CPP SYCL Interfaces
- The Java* interfaces in the oneDAL library are marked as deprecated. The future releases of the oneDAL library may no longer include support for these Java* interfaces
- ABI compatibility is to be broken as part of the 2024.0 release of oneDAL. The library’s major version is to be incremented to two to enforce the relinking of existing applications
- macOS* support is deprecated for oneDAL. The 2023.x releases are the last to provide it
Library Engineering
- CSR tables interface have been changed and moved from detail namespace
What's New
- Introduced new Intel® oneDAL functionality:
- Distributed KMeans++ algorithm
- Logistic Loss objective algorithm
- Introduced new functionality for Intel® Extension for Scikit-learn:
- NaN(missing values) support was added to Model Builders
- Improved performance for the following Intel® Extension for Scikit-learn algorithms:
- Model Builders performance have been improved up to 2x
What's New
- Introduced new Intel® oneDAL functionality:
- Distributed Linear Regression, kNN, PCA algorithms
- Introduced new functionality for Intel® Extension for Scikit-learn:
- Enabled PCA, Linear Regression, Random Forest algorithms and SPMD policy as preview
- Scikit-learn 1.2 support
- sklearn_is_patched() function added to validate status of algorithms patching
- Improved performance for the following Intel® Extension for Scikit-learn algorithms:
- t-SNE for “Burnes-Hut” algorithm
- SVM algorithm for single row inference
Known Issues
- In certain conditions DAAL SYCL interface might hang with L0 backend – please use oneDAL DPC interfaces instead. If older interfaces are required OpenCL backend can be used as workaround.
Library Engineering
- Reduced the size of Intel® oneDAL library by approximately ~30%
- Enabled NuGet distribution channel for Intel® oneDAL on Linux and MacOS
Support Materials
The following additional materials were created:
- Accelerating Barnes-Hut t-SNE Algorithm by Efficient Parallelization on Multi-Core CPUs https://arxiv.org/abs/2212.11506
Deprecation Notice
- DAAL data compression functionality is deprecated and would be removed in 2024.0 release
- oneDAL make and Visual studio examples are deprecated – please use CMake based examples instead
- DAAL cpp_sycl interfaces are deprecated and would be removed in 2024.0 release
What's New
- Introduced new Intel® oneDAL functionality:
- DPC++ interface for Linear Regression algorithm
Known Issues
- Intel® Extension for Scikit-learn SVC.fit and KNN.fit do not support GPU
- Most Intel® Extension for Scikit-learn sycl examples fail when using GPU context
-
Running the Random Forest algorithm with versions 2021.7.1 and 2023.0 of scikit-learn-intelex on the 2nd Generation Intel® Xeon® Scalable Processors, formerly Cascade Lake may result in an 'Illegal instruction' error.
-
No workaround is currently available for this issue.
-
Recommendation: Use an older version of scikit-learn-intelex until the issue is fixed in a future release.
-
Deprecation Notice
- The sequential version of oneDAL was deprecated starting the 2023.0 version. Please use TBB capabilities to limit the thread count if execution on single core is required
- Intel® oneAPI Data Analytics Library KDB* Samples were deprecated in the open source distribution
- Intel® oneAPI Data Analytics Library Hadoop* Samples on macOS were deprecated in the open source distribution
- Intel® oneAPI Data Analytics Library Spark* Samples on macOS were deprecated in the open source distribution
What's New
- Get more functionality and productivity for Intel® Extension for Scikit-learn with Minkowski and Chebyshev distances in kNN and acceleration of the t-SNE algorithm.
- For oneDAL, take advantage of the new LinReg algorithm and distributed PCA algorithm.
- This release is immediately available through the Intel® Developer Zone. It will be available through repositories at a later date.
Deprecation Notice
zlib and bzip2 methods of compression were deprecated. They are dispatched to the lzo method starting the 2022.3.1 version.
There are no updates for the 2022.3 release. Please refer to the 2022.2 release notes.
Library Engineering
- Reduced the size of oneDAL python run-time package by approximately 8%
- Added Python 3.10 support for daal4py and Intel(R) Extension for Scikit-learn packages
Support Materials
Created Kaggle kernels for Intel® Extension for Scikit-learn:
- Fast Feature Importance using scikit-learn-intelex
- [TPS-DEC] Fast Feature Importance with sklearnex
- [TPS-Dec]SVC with sklearnex 20x speedup
- [TPS-Jan] Fast PyCaret with Scikit-learn-Intelex
- [TPS-Feb] KNN with sklearnex 13x speedup
- Fast SVM for Sparse Data from NLP Problem
- Introduction to scikit-learn-intelex
- [Datasets] Fast Feature Importance using sklearnex
- [TPS-Mar] Fast workflow using scikit-learn-intelex
What's New
- Improved performance of oneDAL algorithms:
- Optimized data conversion for tables with column-major layout in host memory to tables with row-major layout in device memory
- Optimized the computation of Minkowski distances in brute-force kNN on CPU
- Optimized Covariance algorithm
- Added DPC++ column-wise atomic reduction
- Introduced new oneDAL functionality:
- KMeans distributed random dense initialization
- Distributed PcaCov
- sendrecv_replace communicator method
- Added new parameters to oneDAL algorithms:
- Weights in Decision Forest for CPU
- Cosine and Chebyshev distances for KNN on GPU
- Improved performance for the following Intel® Extension for Scikit-learn algorithms:
- t-SNE for “Burnes-Hut” algorithm
- Introduced new functionality for Intel® Extension for Scikit-learn:
- Manhattan, Minkowski, Chebyshev and Cosine distances for KNeighborsClassifier and NearestNeighbors with “brute” algorithm
- Fixed the following issues in Intel® Extension for Scikit-learn:
- An issue with the search of common data type in pandas DataFrame
- Patching overhead of finiteness checker for specific small data sizes
- Incorrect values in a tree visualization with plot_tree function in RandomForestClassifier
- Unexpected error for device strings in {device}:{device_index} format while using config context
- The sequential version of oneDAL will be deprecated starting in the next release
The release introduces the following changes:
Library Engineering
- Reduced the size of oneDAL library by approximately ~15%.
Support Materials
The following additional materials were created:
- oneDAL samples:
- Intel® Extension for Scikit-learn samples:
- demo samples of the Intel® Extension for Scikit-learn usage with the performance comparison to original Scikit-learn for ElasticNet, K-means, Lasso Regression, Linear regression, and Ridge Regression
- demo samples of the Modin usage
- daal4py samples:
- an example of Catboost converter usage
- Kaggle kernels for Intel® Extension for Scikit-learn:
- [Tabular Playground Series - Sep 2021] Ridge with sklearn-intelex 2x speedup
- [Tabular Playground Series - Oct 2021] Fast AutoML with Intel Extension for Scikit-learn
- [Titanic – Machine Learning from Disaster] AutoML with Intel Extension for Sklearn
- [Tabular Playground Series - Nov 2021] AutoML with Intel® Extension
- [Tabular Playground Series - Nov 2021] Log Regression with sklearnex 17x speedup
What's New
- Introduced new oneDAL functionality:
- Distributed algorithms for Covariance, DBSCAN, Decision Forest, Low Order Moments
- oneAPI interfaces for Linear Regression, DBSCAN, KNN
- Improved error handling for distributed algorithms in oneDAL in case of compute nodes failures
- Improved performance for the following oneDAL algorithms:
- Louvain algorithm
- KNN and SVM algorithms on GPU
- Introduced new functionality for Intel® Extension for Scikit-learn:
- Scikit-learn 1.0 support
- Fixed the following issues:
- Stabilized the results of Linear Regression in oneDAL and Intel® Extension for Scikit-learn
- Fixed an issue with RPATH on MacOS
The release introduces the following changes:
Library Engineering
- Introduced new functionality for Intel® Extension for Scikit-learn*:
- Enabled patching for all Scikit-learn applications at once:
- You can enable global patching via command line:
- python -m sklearnex.glob patch_sklearn
- Or via code:
- from sklearnex import patch_sklearn
- patch_sklearn(global_patch=True)
- Read more in Intel® Extension for Scikit-learn documentation.
- You can enable global patching via command line:
- Added the support of Python 3.9 for both Intel® Extension for Scikit-learn and daal4py. The packages are available from PyPI and the Intel Channel on Anaconda Cloud.
- Enabled patching for all Scikit-learn applications at once:
- Introduced new oneDAL functionality:
- Added pkg-config support for Linux, macOS, Windows and for static/dynamic, thread/sequential configurations of oneDAL applications.
- Reduced the size of oneDAL library by approximately ~30%.
Support Materials
The following additional materials were created:
- Samples:
- Added demo samples comparing the usage of Intel® Extension for Scikit-learn and the original Scikit-learn for KNN, Logistic Regression, SVM and Random Forest algorithms
- Anaconda blogs:
- Medium blogs:
- Oracle blogs:
- Kaggle kernels:
- [Tabular Playground Series - Jun 2021] Fast LogReg with scikit-learn-intelex
- [Tabular Playground Series - Jun 2021] AutoGluon with sklearnex
- [Tabular Playground Series - Jul 2021] Fast RandomForest with sklearnex
- [Tabular Playground Series - Jul 2021] RF with Intel Extension for Scikit-learn
- [Tabular Playground Series - Jul 2021] Stacking with scikit-learn-intelex
- [Tabular Playground Series - Aug 2021] NuSVR with Intel Extension for Sklearn
- [Predict Future Sales] Stacking with scikit-learn-intelex
- [House Prices - Advanced Regression Techniques] NuSVR sklearn-intelex 4x speedup
What's New
- Introduced new oneDAL functionality:
- General:
- Basic statistics (Low order moments) algorithm in oneDAL interfaces
- Result options for kNN Brute-force in oneDAL interfaces: using a single function call to return any combination of responses, indices, and distances
- CPU:
- Sigmoid kernel of SVM algorithm
- Model converter from CatBoost to oneDAL representation
- Louvain Community Detection algorithm technical preview
- Connected Components algorithm technical preview
- Search task and cosine distance for kNN Brute-force
- GPU:
- The full range support of Minkowski distances in kNN Brute-force
- General:
- Improved oneDAL performance for the following algorithms:
- CPU:
- Decision Forest training and prediction
- Brute-force kNN
- KMeans
- NuSVMs and SVR training
- CPU:
- Introduced new functionality in Intel® Extension for Scikit-learn:
- General:
- Enabled the global patching of all Scikit-learn applications
- Provided an integration with dpctl for heterogeneous computing (the support of dpctl.tensor.usm_ndarray for input and output)
- Extended API with set_config and get_config methods. Added the support of target_offload and allow_fallback_to_host options for device offloading scenarios
- Added the support of predict_proba in RandomForestClassifier estimator
- CPU:
- Added the support of Sigmoid kernel in SVM algorithms
- GPU
- Added binary SVC support with Linear and RBF kernels
- General:
- Improved the performance of the following scikit-learn estimators via scikit-learn patching:
- SVR algorithm training
- NuSVC and NuSVR algorithms training
- RandomForestRegression and RandomForestClassifier algorithms training and prediction
- KMeans
- Fixed the following issues:
- General:
- Fixed an incorrectly raised exception during the patching of Random Forest algorithm when the number of trees was more than 7000.
- CPU:
- Fixed an accuracy issue in Random Forest algorithm caused by the exclusion of constant features.
- Fixed an issue in NuSVC Multiclass.
- Fixed an issue with KMeans convergence inconsistency.
- Fixed incorrect work of train_test_split with specific subset sizes.
- GPU:
- Fixed incorrect bias calculation in SVM.
- General:
Known Issues
- GPU:
- For most algorithms, performance degradations were observed when the 2021.4 version of Intel® oneAPI DPC++ Compiler was used.
- Examples are failing when run with Visual Studio Solutions on hardware that does not support double precision floating-point operations.
The release introduces the following changes:
Library Engineering
- Introduced a new Python package, Intel® Extension for Scikit-learn*. The scikit-learn-intelex package contains scikit-learn patching functionality that was originally available in daal4py package. All future updates for the patches will be available only in Intel® Extension for Scikit-learn. We recommend using scikit-learn-intelex package instead of daal4py.
- Download the extension using one of the following commands:
- pip install scikit-learn-intelex
- conda install scikit-learn-intelex -c conda-forge
- Enable Scikit-learn patching:
- from sklearnex import patch_sklearn
- patch_sklearn()
- Download the extension using one of the following commands:
- Introduced optional dependencies on DPC++ runtime to daal4py. To enable DPC++ backend, install dpcpp_cpp_rt package. It reduces the default package size with all dependencies from 1.2GB to 400 MB.
- • Added the support of building oneDAL-based applications with /MD and /MDd options on Windows. The -d suffix is used in the names of oneDAL libraries that are built with debug run-time (/MDd).
Support Materials
The following additional materials were created:
- Medium blogs:
- Superior Machine Learning Performance on the Latest Intel Xeon Scalable Processors
- Leverage Intel Optimizations in Scikit-Learn (SVM Performance Training and Inference)
- Optimizing CatBoost Performance
- Performance Optimizations for End-to-End AI Pipelines
- Optimizing the End-to-End Training Pipeline on Apache Spark Clusters
- Kaggle kernels:
- [Tabular Playground Series - Apr 2021] RF with Intel Extension for Scikit-learn
- [Tabular Playground Series - Apr 2021] SVM with Intel Extension for Scikit-learn
- [Tabular Playground Series - Apr 2021] SVM with scikit-learn-intelex
- Samples that illustrate the usage of Intel Extension for Scikit-learn
What's New
- Introduced new oneDAL and daal4py functionality:
- CPU:
- SVM Regression algorithm
- NuSVM algorithm for both Classification and Regression tasks
- Polynomial kernel support for all SVM algorithms (SVC, SVR, NuSVC, NuSVR)
- Minkowski and Chebyshev distances for kNN Brute-force
- The brute-force method and the voting mode support for kNN algorithm in oneDAL interfaces
- Multiclass support for SVM algorithms in oneDAL interfaces
- CSR-matrix support for SVM algorithms in oneDAL interfaces
- Subgraph Isomorphism algorithm technical preview
- Single Source Shortest Path (SSSP) algorithm technical preview
- CPU:
- Improved oneDAL and daal4py performance for the following algorithms:
- CPU:
- Support Vector Machines training and prediction
- Linear, Ridge, ElasticNet, and LASSO regressions prediction
- GPU:
- Decision Forest training and prediction
- Principal Components Analysis training
- CPU:
- Introduced the support of scikit-learn 1.0 version in Intel Extension for Scikit-learn. The 2021.3 release of Intel Extension for Scikit-learn supports the latest scikit-learn releases: 0.22.X, 0.23.X, 0.24.X and 1.0.X.
- Introduced new functionality for Intel Extension for Scikit-learn:
- General:
- The support of patch_sklearn for all algorithms
- CPU:
- Acceleration of SVR estimator
- Acceleration of NuSVC and NuSVR estimators
- Polynomial kernel support in SVM algorithms
- General:
- Improved the performance of the following scikit-learn estimators via scikit-learn patching:
- SVM algorithms training and prediction
- Linear, Ridge, ElasticNet, and Lasso regressions prediction
- Fixed the following issues:
- General:
- Fixed binary incompatibility for the versions of numpy earlier than 1.19.4
- Fixed an issue with a very large number of trees (> 7000) for Random Forest algorithm.
- Fixed patch_sklearn to patch both fit and predict methods of Logistic Regression when the algorithm is given as a single parameter to patch_sklearn
- CPU:
- Improved numerical stability of training for Alternating Least Squares (ALS) and Linear and Ridge regressions with Normal Equations method
- Reduced the memory consumption of SVM prediction
- GPU:
- Fixed an issue with kernel compilation on the platforms without hardware FP64 support
- General:
Known Issues
- Intel® Extension for Scikit-learn and daal4py packages installed from PyPI repository can’t be found on Debian systems (including Google Collab). Mitigation: add “site-packages” folder into Python packages searching before importing the packages:
import sys import os import site sys.path.append(os.path.join(os.path.dirname(site.getsitepackages()[0]), "site-packages"))
The release introduces the following changes:
Library Engineering
- Enabled new PyPI distribution channel for daal4py:
- Four latest Python versions (3.6, 3.7, 3.8, 3.9) are supported on Linux, Windows and MacOS.
- Support of both CPU and GPU is included in the package.
- You can download daal4py using the following command: pip install daal4py
- Introduced CMake support for oneDAL examples
Support Materials
The following additional materials were created:
- Medium blogs:
- Kaggle kernels:
What's New
- Introduced new oneDAL and daal4py functionality:
- CPU:
- Hist method for Decision Forest Classification and Regression, which outperforms the existing exact method
- Bit-to-bit results reproducibility for: Linear and Ridge regressions, LASSO and ElasticNet, KMeans training and initialization, PCA, SVM, Logistic Regression, kNN Brute Force method, Decision Forest Classification and Regression
- GPU:
- Multi-node multi-GPU algorithms: K-means (batch and online), Covariance (batch and online), Low order moments (batch and online) and PCA
- Sparsity support for SVM algorithm
- CPU:
- Improved oneDAL and daal4py performance for the following algorithms:
- CPU:
- Decision Forest training Classification and Regression
- Support Vector Machines training and prediction
- Logistic Regression, Logistic Loss and Cross Entropy for non-homogeneous input types
- GPU:
- Decision Forest training Classification and Regression
- All algorithms with GPU kernels (as a result of migration to Unified Shared Memory data management)
- CPU:
- Reduced performance overhead for oneAPI C++ interfaces on CPU and oneAPI DPC++ interfaces on GPU
- Added technical preview features in Graph Analytics:
- CPU:
- Local and Global Triangle Counting
- CPU:
- Introduced new functionality for scikit-learn patching through daal4py:
- CPU:
- Patches for four latest scikit-learn releases: 0.21.X, 0.22.X, 0.23.X and 0.24.X
- Acceleration of roc_auc_score function
- Bit-to-bit results reproducibility for: LinearRegression, Ridge, SVC, KMeans, PCA, Lasso, ElasticNet, tSNE, KNeighborsClassifier, KNeighborsRegressor, NearestNeighbors, RandomForestClassifier, RandomForestRegressor
- CPU:
- Improved performance of the following scikit-learn estimators via scikit-learn patching:
- CPU:
- RandomForestClassifier and RandomForestRegressor scikit-learn estimators: training and prediction
- Principal Component Analysis (PCA) scikit-learn estimator: training
- Support Vector Classification (SVC) scikit-learn estimators: training and prediction
- Support Vector Classification (SVC) scikit-learn estimator with the probability==True parameter: training and prediction
- CPU:
- Fixed the following issues:
- Scikit-learn patching:
- Improved accuracy of RandomForestClassifier and RandomForestRegressor scikit-learn estimators
- Fixed patching issues with pairwise_distances
- Fixed the behavior of the patch_sklearn and unpatch_sklearn functions
- Fixed unexpected behavior that made accelerated functionality unavailable through scikit-learn patching if the unput was not of float32 or float64 data types. Scikit-learn patching now works with all numpy data types.
- Fixed a memory leak that appeared when DataFrame from pandas was used as an input type
- Fixed performance issue for interoperability with Modin
- Scikit-learn patching:
- daal4py:
- GPU:
- Fixed the crash of SVM and kNN algorithms on Windows
- GPU:
- oneDAL:
- CPU:
- Improved accuracy of Decision Forest Classification and Regression
- GPU:
- Improved accuracy of KMeans algorithm
- Improved stability of Linear Regression and Logistic Regression algorithms
- CPU:
Known Issues
- oneDAL vars.sh script does not support kornShell
The release introduces the following changes:
The release contains all functionality of Intel® DAAL. See Intel® DAAL release notes for more details.
Library Engineering
- Renamed the library from Intel® Data Analytics Acceleration Library to oneAPI Data Analytics Library and changed the package names to reflect this.
- Deprecated 32-bit version of the library.
- Introduced Intel GPU support for both OpenCL and Level Zero backends.
- Introduced Unified Shared Memory (USM) support
What's New
- Introduced new Intel® DAAL and daal4py functionality:
- GPU:
- Batch algorithms: K-means, Covariance, PCA, Logistic Regression, Linear Regression, Random Forest Classification and Regression, Gradient Boosting Classification and Regression, kNN, SVM, DBSCAN and Low-order moments
- Online algorithms: Covariance, PCA, Linear Regression and Low-order moments
- Added Data Management functionality to support DPC++ APIs: a new table type for representation of SYCL-based numeric tables (SyclNumericTable) and an optimized CSV data source
- GPU:
- Improved oneDAL and daal4py performance for the following algorithms:
- CPU:
- Logistic Regression training and prediction
- k-Nearest Neighbors prediction with Brute Force method
- Logistic Loss and Cross Entropy objective functions
- CPU:
- Added Technical Preview Features in Graph Analytics:
-
CPU:
- Undirected graph without edge and vertex weights (undirected_adjacency_array_graph), where vertex indices can only be of type int32
- Jaccard Similarity Coefficients for all pairs of vertices, a batch algorithm that processes the graph by blocks
-
- Aligned the library with oneDAL Specification 1.0 for the following algorithms:
- CPU/GPU:
- K-means, PCA, Random Forest Classification and Regression, kNN and SVM
- CPU/GPU:
- Introduced new functionality for scikit-learn patching through daal4py:
- CPU:
- Acceleration of NearestNeighbors and KNeighborsRegressor scikit-learn estimators with Brute Force and K-D tree methods
- Acceleration of TSNE scikit-learn estimator
- GPU:
-
Intel GPU support in scikit-learn for DBSCAN, K-means, Linear and Logistic Regression
-
- CPU:
-
Improved performance of the following scikit-learn estimators via scikit-learn patching:
-
CPU:
- LogisticRegression fit, predict and predict_proba methods
- KNeighborsClassifier predict, predict_proba and kneighbors methods with “brute” method
-
Known Issues
- oneDAL DPC++ APIs does not work on GEN12 graphics with OpenCL backend. Use Level Zero backend for such cases.
- train_test_split in daal4py patches for Scikit-Learn* can produce incorrect shuffling on Windows*
- The following daal4py examples do not work on Intel® Iris Xe MAX with float64 compute mode:
- gradient_boosted_regression_batch
- decision_forest_classification_batch
- decision_forest_regression_batch
- bf_knn_classification_batch
- dbscan_batch
- svm_batch
- sklearn_sycl.py
- kmeans_batch
Run daal4py examples using float32 compute mode instead:
- Use np.float32 data type for input data. To do this, add parameter t=np.float32 to the readcsv function used in the examples.
- Set the parameter fptype to float in the algorithm object constructor: fptype='float'.
- Switch on float64 software emulation on Intel® Iris Xe MAX
- K-Means example in daal4py (examples/sycl/kmeans_batch.py) produces different results on GPU and CPU. To avoid failures, comment assert statements that compare GPU results and classic results in the example.
- DBSCAN example in daal4py (examples/sycl/dbscan_batch.py) hangs when it is running on CPU with data wrapped in sycl_buffer. To avoid hangs, do not pass sycl_buffer objects to DBSCAN on CPU.
Getting Started Guide
Please refer to oneDAL Getting Started Guide
Notices and Disclaimers
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.