Bibliothèque d’accélération Intel Data Analytics (DAAL)

    La bibliothèque d’accélération de l’analyse des données Intel (Intel DAAL) aide à accélérer l’analyse des big data en fournissant des blocs de construction algorithmiques hautement optimisés pour toutes les étapes de l’analyse des données.

    La bibliothèque d’accélération de l’analyse des données Intel (Intel DAAL) est conçue pour aider les développeurs de logiciels à réduire le temps nécessaire au développement de leurs applications et à leur fournir des performances améliorées. Intel DAAL aide les applications à faire de meilleures prédictions plus rapidement et à analyser des ensembles de données plus importants avec les ressources de calcul disponibles. La bibliothèque est mise à jour pour tirer parti des processeurs de nouvelle génération avant même leur disponibilité. Il suffit de lier à la version la plus récente et votre code est prêt pour l’arrivée de ces nouveaux processeurs sur le marché.

    Intel DAAL aborde toutes les étapes du pipeline d’analyse des données : Prétraitement, Transformation, Analyse, Modélisation, Validation et Prise de décision. Intel DAAL est développé par la même équipe que la bibliothèque mathématique Intel Math Kernel Library (Intel MKL), la principale bibliothèque mathématique au monde. Cette équipe travaille en étroite collaboration avec les architectes de processeurs Intel pour tirer parti des performances des systèmes basés sur les processeurs Intel.

    Fonctionnalités clés :

    • API Python (en plus des API C++ et Java existantes)
    • Version open source sous licence Apache 2.0
    • Réseaux neuronaux pour les applications d’apprentissage profond
    • Optimisations améliorées pour les nouveaux processeurs Intel, y compris les processeurs Intel Xeon Phi 7xxx (nom de code Knight’s Landing) et les processeurs Intel Xeon E5-xxxx v4 (nom de code Broadwell)

    Bibliothèque d’accélération de l’analyse des données Intel (DAAL) – Fonctionnalités

    Fonctionnalités clés :

    Intel DAAL se compose des principaux composants suivants :

    • Gestion des données : Le composant de gestion des données comprend des classes et des utilitaires pour l’acquisition de données, le prétraitement initial et la normalisation, pour la conversion de données en formats numériques effectuée par l’une des sources de données prises en charge et pour la représentation de modèles. La classe NumericTable et ses…
      • Classes dérivées au sein du composant Gestion des données sont destinés à la manipulation de données numériques en mémoire. La classe Modèle imite les données réelles et les représente de manière compacte afin que vous puissiez utiliser la bibliothèque lorsque les données réelles sont manquantes, incomplètes, bruyantes ou non disponibles. Ce sont les interfaces clés pour traiter un ensemble de données avec des algorithmes. Les classes DataSourceDictionary et NumericTableDictionary fournissent des méthodes génériques pour la manipulation de dictionnaires, telles que l’accès à une caractéristique de données particulière, la définition et la récupération du nombre de caractéristiques et l’ajout d’une nouvelle caractéristique.
      • Algorithmes: Le composant Algorithmes se compose de classes qui implémentent des algorithmes d’analyse de données (exploration de données) et de modélisation de données (formation et prédiction). Ces algorithmes comprennent des décompositions de matrices, des regroupements, des classifications et des algorithmes de régression, ainsi que la découverte de règles d’association. Les algorithmes prennent en charge les modes de calcul suivants :
        • Traitement par lot: l’algorithme travaille avec l’ensemble des données pour produire le résultat final. Un scénario plus complexe se produit lorsque l’ensemble des données n’est pas disponible à l’instant ou que l’ensemble de données ne rentre pas dans la mémoire de l’appareil.
        • Traitement en ligne: l’algorithme traite un ensemble de données par blocs diffusés en mémoire de l’appareil en mettant à jour de manière incrémentielle les résultats partiels, qui sont finalisés lors du traitement du dernier bloc de données.
        • Traitement distribué: l’algorithme fonctionne sur un ensemble de données distribué sur plusieurs appareils (nœuds de calcul). L’algorithme produit des résultats partiels sur chaque nœud, qui sont finalement fusionnés dans le résultat final sur le nœud maître.
      • Services: Le composant Services comprend des classes et des utilitaires utilisés à travers les composants Gestion des données et Algorithmes. Ces classes permettent l’allocation de mémoire, la gestion des erreurs et la mise en œuvre de collections et de pointeurs partagés.

      Une collection permet de stocker différents types d’objets de manière unifiée. Dans Intel DAAL, les collections sont utilisées pour gérer les entrées et sorties des algorithmes ainsi que pour la gestion des erreurs. Intel DAAL implémente des pointeurs partagés pour gérer la mémoire nécessaire aux opérations de gestion de la mémoire telles que la désallocation.

      Bibliothèque d’accélération de l’analyse des données Intel (DAAL) – Configuration requise du système

      • Processeurs : Processeurs Intel, coprocesseurs et compatibles
      • Langues : Python, C++, Java
      • Outils de développement et environnements
        • Microsoft Visual Studio (Windows)
        • Eclipse/CDT (Linux)
      • Systèmes d’exploitation : Utilisez la même API pour le développement d’applications sur plusieurs systèmes d’exploitation : Windows, Linux et OS X*