Menu
Your Cart

Intel Data Analytics Acceleration Library (DAAL)

Intel Data Analytics Acceleration Library (DAAL)

Need more information on this product?

Please contact us on +44 (0)20 8733 7100 or via our online form.

Contact Us

If you are not currently a customer, you can apply for an account.

Register here


  • SKU: INTELDAAL


The Intel Data Analytics Acceleration Library (Intel DAAL) helps speed big data analytics by providing highly optimized algorithmic building blocks for all data analysis stages

The Intel Data Analytics Acceleration Library (Intel DAAL) is designed to help software developers reduce the time it takes to develop their applications and provide them with improved performance. Intel DAAL helps applications make better predictions faster and analyse larger data sets with the available compute resources at hand. The library is updated to take advantage of next generation processors even before they're available. Just link to the newest version and your code is ready for when those new chips hit the market.

Intel DAAL addresses all stages of the data analytics pipeline: Pre-processing, Transformation, Analysis, Modeling, Validation and Decision Making. Intel DAAL is developed by the same team as the Intel Math Kernel Library (Intel MKL), the leading math library in the world. This team works closely with Intel processor architects to squeese performance from Intel processor-based systems.

Key Features:

  • Python APIs (in addition to existing C++ and Java APIs)
  • Open source version under Apache 2.0 license
  • Neural networks for deep learning applications
  • Improved optimisations for newer Intel processors, including Intel Xeon Phi Processors 7xxx (codenamed Knight’s Landing) and Intel Xeon Processors E5-xxxx v4 (codenamed Broadwell)

Intel Data Analytics Acceleration Library (DAAL) - Features

Key Features:

Intel DAAL consists of the following major components:

  • Data Management: The Data Management component includes classes and utilities for data acquisition, initial preprocessing and normalisation, for data conversion into numeric formats done by one of supported Data Sources and for model representation. The NumericTable class and its derivative classes within the Data Management component are intended for in-memory numeric data manipulation. The Model class mimics the actual data and represents it in a compact way so that you can use the library when the actual data is missing, incomplete, noisy or unavailable. These are the key interfaces for processing a data set with algorithms. The DataSourceDictionary and NumericTableDictionary classes provide generic methods for dictionary manipulation, such as accessing a particular data feature, setting and retrieving the number of features and adding a new feature.
  • Algorithms: The Algorithms component consists of classes that implement algorithms for data analysis (data mining) and data modeling (training and prediction). These algorithms include matrix decompositions, clustering, classification and regression algorithms, as well as association rules discovery. Algorithms support the following computation modes:
    • Batch processing: the algorithm works with the entire data set to produce the final result. A more complex scenario occurs when the entire data set is not available at the moment or the data set does not fit into the device memory.
    • Online processing: the algorithm processes a data set in blocks streamed into device memory by doing incrementally updating partial results, which are finalised upon processing of the last data block.
    • Distributed processing: the algorithm operates on a data set distributed across several devices (compute nodes). The algorithm produces partial results on each node, which are finally merged into the final result on the master node.
  • Services: The Services component includes classes and utilities used across Data Management and Algorithms components. These classes enable memory allocation, error handling and implementation of collections and shared pointers. A collection enables storing different type of objects in a unified manner. In Intel DAAL, collections are used for handling the input and output of algorithms and for error handling. Intel DAAL implements shared pointers to enable memory handling needed for memory management operations such as deallocation.

 


Intel Data Analytics Acceleration Library (DAAL) - System Requirements

  • Processors: Intel processors, coprocessors, and compatibles
  • Languages: Python, C++, Java
  • Development Tools and Environments
    • Microsoft Visual Studio (Windows)
    • Eclipse/CDT (Linux)
  • Operating Systems: Use the same API for application development on multiple operating systems: Windows, Linux and OS X*