+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    22 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 22 411
    Points : 122 615
    Points
    122 615

    Par défaut Sortie d’Intel Parallel Studio XE 2018

    Intel est surtout connu pour ses processeurs, mais aussi pour ses outils de développement, notamment pour le calcul de haute performance avec sa suite Parallel Studio XE, dont la version 2018 vient de sortir. Ces logiciels visent le développement d’applications hautement parallèles, afin d’exploiter tous les cœurs des processeurs modernes à leur plus haut potentiel, mais aussi l’entièreté des nœuds de calcul d’un superordinateur. La suite contient notamment des compilateurs C++ et Fortran, des bibliothèques de haute performance (MKL, IPP, DAAL, etc.), ainsi que des outils d’analyse de performance et de débogage.

    Les points principaux de cette nouvelle version concernent l’utilisation des instructions AVX-512, disponibles uniquement sur certaines gammes de processeurs (certains Xeon de dernière génération et les Xeon Phi). Les outils d’analyse sont plus poussés, comme chaque génération. Les compilateurs respectent les normes plus récentes de manière complète : C++14 au complet (C++17 en partie, officiellement finalisée depuis peu), Fortran 2008 au complet (Fortran 2015 en partie, toujours en cours de développement), OpenMP 5.0 en partie.

    Langages

    Le compilateur C++ se met au goût du jour avec la norme C++14. Parmi les fonctionnalités de C++17 déjà implémentées, on compte l’implémentation parallèle de la STL — ce qui se comprend, vu que l’objectif est d’avoir un code aussi parallèle que possible. L’idée est d’exécuter les différents algorithmes de la STL en parallèle, en changeant un seul paramètre. Bien évidemment, l’implémentation repose sur TBB, la bibliothèque d’Intel pour le calcul multifil. Malgré leur statut d’avant-gardistes en ce qui concerne les évolutions de C++, ni GCC ni Clang ne disposent de cette fonctionnalité. D’autres apports de C++17 sont aussi implémentés. À un niveau proche, la norme C11 est également gérée.

    L’optimisation exploitant les profils (PGO) pointe également le bout de son nez. Elle exploite une trace d’exécution récupérée par VTune Amplifier (en utilisant les compteurs matériels des processeurs) pour décider les parties du code qui bénéficieront le plus des efforts d’optimisation, mais aussi pour déterminer certaines statistiques sur l’exécution du code (comme les branchements) pour certaines décisions d’optimisation.

    Pour OpenMP, de nouvelles clauses sont implémentées, en suivant les développements de la version 5.0 de la norme, plus spécifiquement pour la gestion des tâches (TASK_REDUCTION, REDUCTION, IN_REDUCTION). Plus de constructions d’OpenMP 4 sont disponibles.

    Bibliothèques de calcul

    La MKL (math kernel library) s’oriente historiquement vers les opérations souvent requises par le calcul scientifique : algèbre linéaire, notamment creuse, transformée de Fourier, etc. Cette nouvelle version apporte un lot de fonctionnalités pour les réseaux neuronaux profonds (un sujet relativement à la mode), plus spécifiquement les opérations de convolution (pour les réseaux convolutionnels) et de produit scalaire. Les opérations BLAS entre entiers sont aussi développées, notamment de par leur utilité dans l’apprentissage profond (les nombres à virgule flottante sont remplacés par des entiers pour faciliter certains calculs).

    Les IPP (integrated performance primitives) sont à l’opposé de la MKL : il s’agit d’algorithmes de bien plus haut niveau (compression, cryptographie, traitement d’images, etc.). Ainsi, la nouvelle version apporte une implémentation de l’algorithme de compression LZ4. L’API de GraphicsMagick a été répliquée pour de nouvelles fonctions pour redimensionner et flouter les images. Côté cryptographique, de nouvelles fonctions sont disponibles pour les courbes elliptiques.

    La DAAL (data analytics acceleration library) est la dernière arrivée du lot. Elle est prévue pour l’exploitation des données, notamment l’apprentissage automatique. La version 2018 s’ouvre aux arbres de décision, ainsi qu’aux forêts, tant en classification que régression. Les couches disponibles pour les réseaux neuronaux s’enrichissent d’une addition membre à membre. Une série de nouveaux exemples montre l’intégration avec Spark MLib. La distribution Python d’Intel utilise notamment la DAAL pour accélérer une série d’opérations de scikit-learn.

    De manière générale, les instructions AVX-512 sont utilisées très régulièrement. Aussi, les processeurs trop anciens ne sont plus gérés (comme les Pentium III, d’avant l’an 2000) — étonnement, la première génération de Xeon Phi n’est plus au goût du jour, entièrement remplacée par la seconde.

    Outils d’analyse et de débogage

    Advisor a été le plus retravaillé de tous les outils de la suite Intel. Il montre une série d’optimisations possibles du code, notamment au niveau de la vectorisation. La simulation des caches est arrivée en préversion. En effet, une mauvaise utilisation des caches d’un processeur peut faire s’écrouler la performance d’une application : le processeur doit alors chercher régulièrement des données en mémoire, plutôt que de réutiliser son cache. Quand cette fonction est activée, elle montre, dans les rapports, pour chaque boucle, le nombre d’opérations effectuées en mémoire et celles qui ne peuvent se faire depuis le cache.

    Une nouveauté arrivée entre les versions 2017 et 2018 est l’analyse “sous les combles”. Il s’agit d’une visualisation de la performance d’une application selon les limitations matérielles, notamment la bande passante disponible vers la mémoire. Ce graphique présente la performance (en opérations effectuées par seconde) par rapport à l’intensité arithmétique (le nombre d’opérations effectuées par octet de données). Selon le niveau de cache utilisé, on peut déterminer un maximum d’opérations que l’on peut effectuer par seconde, étant donné la bande passante disponible pour se niveau de cache : si l’application est très proche de la limite pour le premier niveau de cache (le plus rapide), c’est qu’elle utilise le processeur au mieux. L’idée est donc de voir facilement où se situent les points faibles.


    Sources : notes de version de la suite, du compilateur C++, du compilateur Fortran, de la MKL, des IPP, de la DAAL, de la distribution Python, d’Advisor ; Intel Advisor Roofline.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    février 2017
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : février 2017
    Messages : 133
    Points : 368
    Points
    368

    Par défaut

    cet outil de développement m'intéresse depuis le début, seulement y-a-t-il intérêt en france ?

    je n'ai jamais vu une seule offre d'emploi en 5ans qui indiquait cela en pré-requis.

    il semble destiné au salariat étranger...

  3. #3
    Inactif

    Homme Profil pro
    NR
    Inscrit en
    juin 2013
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2013
    Messages : 3 381
    Points : 0
    Points
    0
    Billets dans le blog
    8

    Par défaut

    Citation Envoyé par abbe2017 Voir le message
    cet outil de développement m'intéresse depuis le début, seulement y-a-t-il intérêt en france ?

    je n'ai jamais vu une seule offre d'emploi en 5ans qui indiquait cela en pré-requis.

    il semble destiné au salariat étranger...
    je l'utilise tous les jours. Cette suite contient des compilateurs optimisé et des api optimisé. Il est quasi indispensable si utilise des xeon phi.
    La mkl est lui aussi indispensable pour tous ce qui touche aux calcules matriciels.

    Cette suite s'adresse aux domaines liées aux calcules intensifs (sur des cpu intel vous imaginez bien). Mais a noter que meme sur de l'amd le compilateur intel est plus performant que GCC/clang...etc
    Intel fournie aussi une version de Python optimisé pour leurs cpu.

    Tu ne le voit jamais sur des offres d'emplois car cette suite "n'est qu'un compilateur", c'est pas un langage de programmation ou un IDE a maîtriser. d’ailleurs je vois peu d'offre qui demande de maîtriser un ide ou un compilateur en particulier, cela s’apprend sur le tas.
    =>Comment jouer sur xbox one à moindre coût ?
    Achetez un notebook de 2010 à 50€ sur leboncoin, installez steam, connectez le pc à un écran, branchez une manette xbox au pc
    Enjoy

  4. #4
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    février 2017
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : février 2017
    Messages : 133
    Points : 368
    Points
    368

    Par défaut

    Citation Envoyé par RyzenOC Voir le message
    je l'utilise tous les jours. Cette suite contient des compilateurs optimisé et des api optimisé. Il est quasi indispensable si utilise des xeon phi.
    La mkl est lui aussi indispensable pour tous ce qui touche aux calcules matriciels.

    Cette suite s'adresse aux domaines liées aux calcules intensifs (sur des cpu intel vous imaginez bien). Mais a noter que meme sur de l'amd le compilateur intel est plus performant que GCC/clang...etc
    Intel fournie aussi une version de Python optimisé pour leurs cpu.

    Tu ne le voit jamais sur des offres d'emplois car cette suite "n'est qu'un compilateur", c'est pas un langage de programmation ou un IDE a maîtriser. d’ailleurs je vois peu d'offre qui demande de maîtriser un ide ou un compilateur en particulier, cela s’apprend sur le tas.
    oui mais ça compile pour une puce dédiée INTEL, c'est à dire de la programmation orentiée "final hardware" et en france, bun....je ne sais pas si une entreprise fait ça. peut-être pour les appareils de médecine.

  5. #5
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    22 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 22 411
    Points : 122 615
    Points
    122 615

    Par défaut

    Il faut aussi voir le domaine des offres d'emploi : ces outils sont assez spécifiques, peu de développeurs ont un intérêt à les utiliser. Pour pas mal de tâches, gagner quelques pour cent en performance à l'exécution n'a aucun intérêt (et encore, le compilateur Intel est parfois moins bon que les traditionnels, selon les tâches : https://stackoverflow.com/questions/...mpiler-and-gcc, même si une étude plus récente ne ferait pas de mal).

    Citation Envoyé par abbe2017 Voir le message
    oui mais ça compile pour une puce dédiée INTEL, c'est à dire de la programmation orentiée "final hardware" et en france, bun....je ne sais pas si une entreprise fait ça. peut-être pour les appareils de médecine.
    Et tous ceux qui utilisent des supercalculateurs, comme Total.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Sortie d’Intel Parallel Studio XE 2017
    Par dourouc05 dans le forum Programmation parallèle, calcul scientifique et de haute performance (HPC)
    Réponses: 0
    Dernier message: 25/09/2016, 23h34
  2. Réponses: 2
    Dernier message: 25/05/2009, 05h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo