Data Analytics Library

oneAPI Data Analytics Library (oneDAL; formerly Intel Data Analytics Acceleration Library or Intel DAAL), is a library of optimized algorithmic building blocks for data analysis stages most commonly associated with solving Big Data problems.[4][5][6][7]

Data Analytics Library
Developer(s)Intel
Initial releaseAugust 25, 2015; 9 years ago (2015-08-25)
Stable release
2021 Update 4 / 2021; 3 years ago (2021)[1]
Repository
Written inC++, Java, Python[2]
Operating systemMicrosoft Windows, Linux, macOS[2]
PlatformIntel Atom, Intel Core, Intel Xeon[2]
TypeLibrary or framework
LicenseApache License 2.0[3]
Websitesoftware.intel.com/content/www/us/en/develop/tools/data-analytics-acceleration-library.html

The library supports Intel processors and is available for Windows, Linux and macOS operating systems.[2] The library is designed for use popular data platforms including Hadoop, Spark, R, and MATLAB.[4][8]

History

edit

Intel launched the Intel Data Analytics Library(oneDAL) on December 8, 2020. It also launched the Data Analytics Acceleration Library on August 25, 2015 and called it Intel Data Analytics Acceleration Library 2016 (Intel DAAL 2016).[9] oneDAL is bundled with Intel oneAPI Base Toolkit as a commercial product. A standalone version is available commercially or freely,[3][10] the only difference being support and maintenance related.

License

edit

Apache License 2.0

Details

edit

Functional categories

edit

Intel DAAL has the following algorithms:[11][4][12]

  • Analysis
    • Low Order Moments: Includes computing min, max, mean, standard deviation, variance, etc. for a dataset.
    • Quantiles: splitting observations into equal-sized groups defined by quantile orders.
    • Correlation matrix and variance-covariance matrix: A basic tool in understanding statistical dependence among variables. The degree of correlation indicates the tendency of one change to indicate the likely change in another.
    • Cosine distance matrix: Measuring pairwise distance using cosine distance.
    • Correlation distance matrix: Measuring pairwise distance between items using correlation distance.
    • Clustering: Grouping data into unlabeled groups. This is a typical technique used in “unsupervised learning” where there is not established model to rely on. Intel DAAL provides 2 algorithms for clustering: K-Means and “EM for GMM.”
    • Principal Component Analysis (PCA): the most popular algorithm for dimensionality reduction.
    • Association rules mining: Detecting co-occurrence patterns. Commonly known as “shopping basket mining.”
    • Data transformation through matrix decomposition: DAAL provides Cholesky, QR, and SVD decomposition algorithms.
    • Outlier detection: Identifying observations that are abnormally distant from typical distribution of other observations.
  • Training and Prediction
    • Regression
      • Linear regression: The simplest regression method. Fitting a linear equation to model the relationship between dependent variables (things to be predicted) and explanatory variables (things known).
    • Classification: Building a model to assign items into different labeled groups. DAAL provides multiple algorithms in this area, including Naïve Bayes classifier, Support Vector Machine, and multi-class classifiers.
    • Recommendation systems
    • Neural networks

Intel DAAL supported three processing modes:

  • Batch processing: When all data fits in the memory, a function is called to process the data all at once.
  • Online processing (also called Streaming): when all data does not fit in memory. Intel® DAAL can process data chunks individually and combine all partial results at the finalizing stage.
  • Distributed processing: DAAL supports a model similar to MapReduce. Consumers in a cluster process local data (map stage), and then the Producer process collects and combines partial results from Consumers (reduce stage). Intel DAAL offers flexibility in this mode by leaving the communication functions completely to the developer. Developers can choose to use the data movement in a framework such as Hadoop or Spark, or explicitly coding communications most likely with MPI.

References

edit
  1. ^ "Intel® Data Analytics Acceleration Library Release Notes". software.intel.com.
  2. ^ a b c d Intel® Data Analytics Acceleration Library (Intel® DAAL) | Intel® Software
  3. ^ a b "Open Source Project: Intel Data Analytics Acceleration Library (DAAL)".
  4. ^ a b c "DAAL github". GitHub.
  5. ^ "Intel Updates Developer Toolkit with Data Analytics Acceleration Library". 25 August 2015.
  6. ^ "Intel adds big data functions to math libraries". The Register.
  7. ^ "Intel Leverages HPC Core for Analytics Tooling Push". nextplatform.com. 2015-08-25.
  8. ^ "Try Out Intel DAAL to Process Big Data". 13 January 2016.
  9. ^ "Intel Data Analytics Acceleration Library".
  10. ^ "Community Licensing of Intel Performance Libraries".
  11. ^ Developer Guide for Intel(R) Data Analytics Acceleration Library 2020
  12. ^ "Introduction to Intel DAAL, Part 1: Polynomial Regression with Batch Mode Computation". 28 October 2015.
edit