Boîte à outils des développeurs Intel oneAPI DL Framework pour Linux
Boîte à outils des développeurs Intel oneAPI DL Framework pour Linux

Suivez ces étapes pour la boîte à outils du développeur Intel® oneAPI DL Framework :

Les instructions suivantes supposent que vous avez installé le logiciel Intel® oneAPI. Veuillez consulter le Page des kits d'outils Intel oneAPI pour les possibilités d'installation.

  1. Configurez votre système
  2. Construire et exécuter en tant queample projet en utilisant la ligne de commande.

Introduction

Si vous souhaitez utiliser oneDNN et oneCCL sampfichiers, vous devez installer le Boîte à outils de base Intel® oneAPI. Le kit de base contient tous les composants Intel® oneAPI DL Framework Developer Toolkit (DLFD Kit) avec toutes les dépendances requises.

Si vous souhaitez utiliser les bibliothèques DL DevKit sans essayer les sampfichiers, il vous suffit d'installer le kit DLFD. Sinon, installez le Boîte à outils de base Intel® oneAPI.

Cette boîte à outils est une suite de bibliothèques de développement qui permettent de créer ou d'optimiser rapidement et facilement un cadre d'apprentissage en profondeur qui tire le maximum de performances des processeurs Intel® les plus récents. Cette boîte à outils active Deep Learning Framework avec des options flexibles, notamment des performances optimales sur un CPU ou un GPU.

  • Bibliothèque de réseaux de neurones profonds Intel® oneAPI
  • Bibliothèque de communications collectives Intel® oneAPI

Bibliothèque de réseaux de neurones profonds Intel® oneAPI

La bibliothèque Intel® oneAPI Deep Neural Network Library est une bibliothèque de performances open source pour les applications d'apprentissage en profondeur. La bibliothèque comprend des blocs de construction de base pour les réseaux de neurones optimisés pour les processeurs d'architecture Intel® et les processeurs graphiques Intel®. Cette bibliothèque est destinée aux applications d'apprentissage en profondeur et aux développeurs de frameworks intéressés par l'amélioration des performances des applications sur les processeurs et GPU Intel. De nombreux frameworks de Deep Learning populaires sont intégrés à cette bibliothèque.

Bibliothèque de communications collectives Intel® oneAPI

La bibliothèque de communications collectives Intel® oneAPI est une bibliothèque fournissant une mise en œuvre efficace des modèles de communication utilisés dans l'apprentissage en profondeur.

  • Construit sur la bibliothèque Intel® MPI, permet l'utilisation d'autres bibliothèques de communication.
  • Optimisé pour favoriser l'évolutivité des modèles de communication.
  • Fonctionne sur diverses interconnexions : architecture Intel® Omni-Path, InfiniBand* et Ethernet
  • API commune pour prendre en charge les frameworks Deep Learning (Caffe*, Theano*, Torch*, etc.)
  • Ce package comprend le kit de développement logiciel (SDK) Intel® MLSL et les composants d'exécution de la bibliothèque Intel® MPI.

Configurez votre système

Boîte à outils du développeur Intel® oneAPI DL Framework
Pour courir samputilisant le compilateur Intel® oneAPI DPC++/C++ et Intel® Threading Building Blocks, vous devez installer le Boîte à outils de base Intel® oneAPI avant de configurer votre système.

Pour une liste complète de la configuration système requise, consultez le Notes de mise à jour de la bibliothèque Intel® oneAPI Deep Neural Network.

Pour configurer votre système, vous devez :

  • Définir les variables d'environnement pour CPU/GPU ou FPGA
  • Pour les utilisateurs de GPU, installez les pilotes GPU
  • Désactiver Hangcheck pour les applications avec des charges de travail de calcul GPU de longue durée
  • Pour les utilisateurs de GPU, ajoutez un utilisateur au groupe vidéo
Définir des variables d'environnement pour le développement CLI

Pour travailler sur une interface de ligne de commande (CLI), les outils des kits d'outils oneAPI sont configurés via des variables d'environnement. Configurez votre environnement CLI en utilisant le script setvars :

Option 1 : Source setvars.sh une fois par session

Source setvars.sh chaque fois que vous ouvrez une nouvelle fenêtre de terminal :
Vous pouvez trouver le script setvars.sh dans le dossier racine de votre installation oneAPI, qui est généralement /opt/intel/oneapi/ pour les utilisateurs sudo ou root et ~/intel/oneapi/ lorsqu'il est installé en tant qu'utilisateur normal.

Pour les installations root ou sudo :
. /opt/intel/oneapi/setvars.sh
Pour les installations utilisateur normales :
. ~/intel/oneapi/setvars.sh

Option 2 : configuration unique pour setvars.sh

Pour que l'environnement soit automatiquement configuré pour vos projets, incluez la source de commande /setvars.sh dans un script de démarrage où il sera invoqué automatiquement (remplacez-le par le chemin d'accès à votre emplacement d'installation oneAPI). Les emplacements d'installation par défaut sont /opt/intel/oneapi/ pour les utilisateurs sudo ou root et ~/intel/oneapi/ lorsqu'il est installé en tant qu'utilisateur normal.

Par exempleample, vous pouvez ajouter la commande source /setvars.sh à votre ~/.bashrc ou ~/.bashrc_profile ou ~/.profile file. Pour rendre les paramètres permanents pour tous les comptes de votre système, créez un script .sh d'une ligne dans le /etc/pro de votre systèmefiledossier .d qui source setvars.sh (pour plus de détails, voir Documentation Ubuntu sur les variables d'environnement).

NOTE
Le script setvars.sh peut être géré à l'aide d'une configuration file, ce qui est particulièrement utile si vous devez initialiser des versions spécifiques de bibliothèques ou du compilateur, plutôt que de choisir par défaut la « dernière » version.
Pour plus de détails, voir Utilisation d'une configuration File pour gérer Setvars.sh.. Si vous devez configurer l'environnement dans un shell non POSIX, consultez Configuration de l'environnement de développement oneAPI pour plus d'options de configuration.

Pour les utilisateurs de GPU, installez les pilotes GPU

Si vous avez suivi les instructions du Guide d'installation pour installer les pilotes GPU, vous pouvez ignorer cette étape. Si vous n'avez pas installé les pilotes, suivez les instructions du Guide d'installation.

GPU : désactiver Hangcheck

Cette section s'applique uniquement aux applications avec des charges de travail de calcul GPU de longue durée dans des environnements natifs. Il n'est pas recommandé pour les virtualisations ou d'autres utilisations standard du GPU, telles que les jeux.

Une charge de travail qui prend plus de quatre secondes pour que le matériel GPU s'exécute est une charge de travail de longue durée. Par défaut, les threads individuels qualifiés de charges de travail de longue durée sont considérés comme bloqués et sont arrêtés.
En désactivant le délai d'expiration du contrôle de blocage, vous pouvez éviter ce problème.

NOTE Si le système est redémarré, hangcheck est automatiquement activé. Vous devez à nouveau désactiver le contrôle du blocage après chaque redémarrage ou suivre les instructions pour désactiver le contrôle du blocage de manière persistante (sur plusieurs redémarrages).

Pour désactiver le contrôle de blocage jusqu'au prochain redémarrage :
sudo sh -c "echo N> /sys/module/i915/parameters/enable_hangcheck"

Pour désactiver le contrôle de blocage sur plusieurs redémarrages :

NOTE Si le noyau est mis à jour, hangcheck est automatiquement activé. Exécutez la procédure ci-dessous après chaque mise à jour du noyau pour vous assurer que Hangcheck est désactivé.

  1. Ouvrir un terminal.
  2. Ouvrir la bouffe file dans /etc/default.
  3. Dans la bouffe file, recherchez la ligne GRUB_CMDLINE_LINUX_DEFAULT="".
    Entrez ce texte entre les guillemets ("") :
    i915.enable_hangcheck=0
  4. Exécutez cette commande:
    sudo update-grub
  5. Redémarrez le système. Hangcheck reste désactivé.
GPU : Ajouter un utilisateur au groupe de vidéos

Pour les charges de travail de calcul GPU, les utilisateurs non root (normaux) n'ont généralement pas accès au périphérique GPU. Assurez-vous d'ajouter vos utilisateurs normaux au groupe vidéo ; sinon, les binaires compilés pour le périphérique GPU échoueront lorsqu'ils seront exécutés par un utilisateur normal. Pour résoudre ce problème, ajoutez l'utilisateur non root au groupe vidéo : sudo usermod -a -G video

Pour obtenir la liste des exigences la plus récente, consultez le Notes de mise à jour de la bibliothèque de communications collectives Intel® oneAPI.

Courir commeample Projet
Courir commeample projet en utilisant la ligne de commande.

Courir commeample projet utilisant la ligne de commande

Boîte à outils du développeur Intel® oneAPI DL Framework

Si vous souhaitez utiliser oneDNN et oneCCL sampfichiers, vous devez installer le Boîte à outils de base Intel® oneAPI (BaseKit).
Le BaseKit contient tous les composants Intel® oneAPI DL Framework Developer Toolkit avec toutes les dépendances requises.

Une fois le BaseKit installé, vous pouvez exécuter en tant queample en utilisant les instructions dans Construire et exécuter un kit d'outils de développement Intel® oneAPI DL Framework SampUtilisation de la ligne de commande.

Utiliser des conteneurs

Boîte à outils du développeur Intel® oneAPI DL Framework

Les conteneurs vous permettent de créer et de configurer des environnements pour créer, exécuter et profiler des applications oneAPI et de les distribuer à l'aide d'images :

  • Vous pouvez installer une image contenant un environnement préconfiguré avec tous les outils dont vous avez besoin, puis développer dans cet environnement.
  • Vous pouvez enregistrer un environnement et utiliser l'image pour déplacer cet environnement vers une autre machine sans configuration supplémentaire.
  • Vous pouvez préparer des conteneurs avec différents ensembles de langages et d'environnements d'exécution, des outils d'analyse ou d'autres outils, selon vos besoins.
Télécharger Docker* Image

Vous pouvez télécharger une image Docker* à partir du Référentiel de conteneurs.

NOTE L'image Docker fait environ 5 Go et peut prendre environ 15 minutes à télécharger. Il faudra 25 Go d'espace disque.
image=intel/oneapi-dlfdkit
docker pull "$ image"

Utilisation de conteneurs avec la ligne de commande

Boîte à outils du développeur Intel® oneAPI DL Framework
Compilez et exécutez les conteneurs directement.

Ce qui suit active le GPU, si disponible, en utilisant –device=/dev/dri (peut ne pas être disponible dans Linux* VM ou Windows*). La commande vous laissera à une invite de commande, à l'intérieur du conteneur, en mode interactif.

image=intel/oneapi-dlfdkit
# –device=/dev/dri active le gpu (si disponible). Peut ne pas être disponible dans la machine virtuelle Linux ou le docker Windows run –device=/dev/dri -it "$image"

Une fois dans le conteneur, vous pouvez interagir avec lui en utilisant Run a Sample projet à l'aide de la ligne de commande.

NOTE Vous devrez peut-être inclure les paramètres de proxy avant -it « $image » si vous êtes derrière un proxy :

docker run -e http_proxy=”$http_proxy” -e https_proxy=”$https_proxy” -it “$image”

Utilisation d'Intel® Advisor, d'Intel® Inspector ou de VTune™ avec des conteneurs

Lors de l'utilisation de ces outils, des fonctionnalités supplémentaires doivent être fournies au conteneur :

–cap-add=SYS_ADMIN –cap-add=SYS_PTRACE
docker run –cap-add=SYS_ADMIN –cap-add=SYS_PTRACE \
–device=/dev/dri -it "$image"

Prochaines étapes

Boîte à outils du développeur Intel® oneAPI DL Framework

Après avoir construit votre propre projet, review Code S de la boîte à outils Intel® oneAPI DL Frameworkamples pour comprendre les capacités de cette boîte à outils.

Avis et avis de non-responsabilité

Les technologies Intel peuvent nécessiter une activation matérielle, logicielle ou de service activée.
Aucun produit ou composant ne peut être absolument sûr.
Vos coûts et vos résultats peuvent varier.

©Intel Corporation. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Avis d'optimisation

Les compilateurs d'Intel peuvent ou non optimiser au même degré les microprocesseurs non Intel pour des optimisations qui ne sont pas propres aux microprocesseurs Intel. Ces optimisations incluent les jeux d'instructions SSE2, SSE3 et SSSE3 et d'autres optimisations. Intel ne garantit pas la disponibilité, la fonctionnalité ou l'efficacité de toute optimisation sur des microprocesseurs non fabriqués par Intel. Les optimisations dépendantes du microprocesseur de ce produit sont destinées à être utilisées avec les microprocesseurs Intel. Certaines optimisations non spécifiques à la microarchitecture Intel sont réservées aux microprocesseurs Intel. Veuillez vous reporter aux guides d'utilisation et de référence du produit concerné pour plus d'informations sur les jeux d'instructions spécifiques couverts par cet avis.
Avis de révision #20110804

Aucune licence (expresse ou implicite, par préclusion ou autre) sur aucun droit de propriété intellectuelle n'est accordée par ce document.

Les produits décrits peuvent contenir des défauts de conception ou des erreurs appelés errata qui peuvent entraîner un écart par rapport aux spécifications publiées. Les errata caractérisés actuels sont disponibles sur demande.

Intel décline toute garantie expresse et implicite, y compris, sans s'y limiter, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon, ainsi que toute garantie découlant du cours des performances, du cours des transactions ou de l'utilisation dans le commerce.

 

Documents / Ressources

Boîte à outils des développeurs Intel oneAPI DL Framework pour Linux [pdf] Manuel du propriétaire
oneAPI DL Framework Developers Toolkit pour Linux, Framework Developers Toolkit pour Linux, Developers Toolkit pour Linux, Toolkit pour Linux

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *