Release Notes for Intel® oneAPI Data Analytics Library

Published:07/01/2019   Last Updated:12/04/2020

This article includes the Release Notes for Intel® oneAPI Data Analytics Library (oneDAL)

Version History

Document revision Date Change History
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 dedicate system requirements article.

2021.1

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 
  • 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
  • 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 
  • 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 

  • 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:

  1. Use np.float32 data type for input data. To do this, add parameter t=np.float32 to the readcsv function used in the examples.
  2. Set the parameter fptype to float in the algorithm object constructor: fptype='float'.
  3. 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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.