Skip to content

oneapi-src/oneDAL

oneAPI Data Analytics Library

Installation   |   Documentation   |   Support   |   Examples   |   How to Contribute   

Build Status License OpenSSF Best Practices Join the community on GitHub Discussions

oneAPI Data Analytics Library (oneDAL) is a powerful machine learning library that helps you accelerate big data analysis at all stages: preprocessing, transformation, analysis, modeling, validation, and decision making.

The library implements classical machine learning algorithms. The boost in their performance is achieved by leveraging the capabilities of Intel® hardware.

The oneDAL is part of the UXL Foundation and is an implementation of the oneAPI specification for oneDAL component.

Usage

There are different ways for you to build high-performance data science applications that use the advantages of oneDAL:

  • Use oneDAL C++ interfaces with or without SYCL support (learn more)
  • Use Intel(R) Extension for Scikit-learn* to accelerate existing scikit-learn code without changing it
  • Use daal4py, a standalone package with Python API for oneDAL Deprecation Notice: The Java interfaces are removed from the oneDAL library.

Installation

Check System Requirements before installing oneDAL.

You can download the specific version of oneDAL or install it from sources.

Examples

C++ Examples:

Python Examples:

Other Examples

Documentation

oneDAL documentation:

Other related documentation:

Apache Spark MLlib

oneDAL library is used for Spark MLlib acceleration as part of OAP MLlib project and allows you to get a 3-18x increase in performance compared to the default Apache Spark MLlib.

Technical details: FPType: double; HW: 7 x m5.2xlarge AWS instances; SW: Intel DAAL 2020 Gold, Apache Spark 2.4.4, emr-5.27.0; Spark config num executors 12, executor cores 8, executor memory 19GB, task cpus 8

Scaling

oneDAL supports distributed computation mode that shows excellent results for strong and weak scaling:

oneDAL K-Means fit, strong scaling result oneDAL K-Means fit, weak scaling results

Technical details: FPType: float32; HW: Intel Xeon Processor E5-2698 v3 @2.3GHz, 2 sockets, 16 cores per socket; SW: Intel® DAAL (2019.3), MPI4Py (3.0.0), Intel® Distribution Of Python (IDP) 3.6.8; Details available in the article https://arxiv.org/abs/1909.11822

Governance

The oneDAL project is governed by the UXL Foundation and you can get involved in this project in multiple ways. It is possible to join the AI Special Interest Group (SIG) meetings where the group discuss and demonstrates work using this project. Members can also join the Open Source and Specification Working Group meetings.

You can also join the mailing lists for the UXL Foundation to be informed of when meetings are happening and receive the latest information and discussions.

You can contribute to this project and also contribute to the specification for this project, read the CONTRIBUTING page for more information.

Support

Ask questions and engage in discussions with oneDAL developers, contributers, and other users through the following channels:

You may reach out to project maintainers privately at onedal.maintainers@intel.com.

Security

To report a vulnerability, refer to Intel vulnerability reporting policy.

Contribute

We welcome community contributions. Check our contributing guidelines to learn more.

License

oneDAL is distributed under the Apache License 2.0 license. See LICENSE for more information.

oneMKL FPK microlibs are distributed under Intel Simplified Software License. Refer to third-party-programs-mkl.txt for details.