IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Intel Software Conference 2010 ; outils pour le développement parallèle [Tutoriel]


Sujet :

C++

  1. #1
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut Intel Software Conference 2010 ; outils pour le développement parallèle
    Bonjour,

    Suite à l'Intel Software conférence à laquelle j'étais invité au nom de developpez.com, j'ai rédigé deux articles racontant ce que j'ai pu y apprendre :

    - Une interview de James Reinders, le gourou d'Intel sur le sujet
    - Un compte rendu plus général de la conférence

    N'hésitez pas à faire part ici de ce que vous avez pensé de ces articles (ou à poser des questions si des clarifications sont nécessaires) !
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  2. #2
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    c'ets un pas dans le bon sens même si la quasi totalité de ces solutions sont trop bas niveaux pour le commun des développeurs.

    GG sur le TBB avec des lambda néanmoins :o

  3. #3
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    J'ai une question un peu génrale par rapport au contexte :

    Si j'ai bien compris, si on se lance dans le développement d'une application pensée dés le départ pour la parallélisation ET cross-platform, on a quasimment pas le choix niveau bibliothèques, il n'y a que TBB a fournir du haut niveau sur MacOs/Windows/Linux?

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Si tu es en mode de parallélisation pour les performances, en mono machine, et dans le cas où tu dois gérer explicitement les tâches (par exemple, tu n'es pas dans un cas où tu peux utiliser une bibliothèque de matrice qui parallélise sans que tu en sache rien), tu as à ma connaissance les choix suivants en cross platform :
    - OpenMP
    - TBB
    - Cilk (dans le futur)

    Il y en a peut-être d'autres, mais en tout cas, Intel ne les a pas mentionnés.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Joel F Voir le message
    c'ets un pas dans le bon sens même si la quasi totalité de ces solutions sont trop bas niveaux pour le commun des développeurs.
    J'ai l'espoir que Ct soit assez haut niveau pour de des gens normaux puissent l'utiliser, dans les domaines où il s'applique.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    J'ai l'espoir que Ct soit assez haut niveau pour de des gens normaux puissent l'utiliser, dans les domaines où il s'applique.
    Pour l'instant ca fait pas réver des masses. Idealement, on ne devrait PAS voir le parallelisme du tout au niveau dev.

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Joel F Voir le message
    Pour l'instant ca fait pas réver des masses. Idealement, on ne devrait PAS voir le parallelisme du tout au niveau dev.
    C'est un peu le cas, non ? Certes, on est obligé à utiliser un style de programmation un peu inhabituel, mais à ce que j'ai vu, à aucun moment dans Ct on ne crée de tâches, ou on indique qu'une boucle doit être parallélisée, ou que l'accès à une variable doit être synchronisé.

    Tu as un exemple en tête où c'est nécessaire ?
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    C'est un peu le cas, non ? Certes, on est obligé à utiliser un style de programmation un peu inhabituel, mais à ce que j'ai vu, à aucun moment dans Ct on ne crée de tâches, ou on indique qu'une boucle doit être parallélisée, ou que l'accès à une variable doit être synchronisé.

    Tu as un exemple en tête où c'est nécessaire ?
    par exemple, je veux faire un pipeline, je fais comment ?

  9. #9
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Tout d'abord, je reprécise que je ne connais pas cette bibliothèque d'expérience, juste par l'intermédiaire de powerpoint. Ensuite, quand tu parles de pipeline, je comprends programmation parallèle sous forme d'agents/de flux de données.

    Si c'est bien ça dont tu parles, alors, Ct n'est pas faite pour toi. Elle n'a pas comme objectif de gérer tous les desing patterns du parallélisme, mais est faite pour paralléliser implicitement un seul d'entre eux : le parallélisme de données.

    Sinon, je veux bien que tu m'expliques
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  10. #10
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Si c'est bien ça dont tu parles, alors, Ct n'est pas faite pour toi. Elle n'a pas comme objectif de gérer tous les desing patterns du parallélisme, mais est faite pour paralléliser implicitement un seul d'entre eux : le parallélisme de données.
    OK donc ca gére les trucs triviaux on sait faire depuis longtemps (/irony bien sur).

    Ca veut dire que si t'as besoin de scheduler ou mapper un truc sioux t'es re dans un monde de m**** :/

    PS: design patterns en parallelisme ca a un sens un peu special, tention

Discussions similaires

  1. Test d'Intel Parallel Studio : suite d’outils pour le développement parallèle
    Par Matthieu Brucher dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 06/12/2010, 21h40
  2. Réponses: 1
    Dernier message: 20/05/2009, 01h05

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