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 :

[MT] La bibliothèque Intel Threading Building Blocks (TBB) devient Open Source


Sujet :

C++

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut [MT] La bibliothèque Intel Threading Building Blocks (TBB) devient Open Source
    J'avais déjà parlé de cette bibliothèque consacrée au multi-threading.
    La meilleure à ma connaissance pour gérer les processus en programmation générique dans le style de la STL. (même si je trouve la syntaxe un peu lourde, je préfère celle de ma propre bibliothèque ).

    La version 2.0 vient de sortir et elle est non seulement disponible sous licence commerciale mais dorénavant également sous licence GPL2.

    En vrac et de souvenir, ce que proposait la version 1:
    -algorithmes génériques pour gérer le multi-threading (ParallelFor, ParallelReduce...)
    -Containers de la STL thread-safe
    -Objets divers (mutex, spin-mutex...)

    Vous pouvez oublier OpenMP, Boost et autres...

    Vous la trouverez là:
    http://softwaredispatch.intel.com/?p...R&t=3&lid=1588

    Je n'ai pas encore regardé le contenu des sources, mais ça ne saurait tarder

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Elle n'est pas sous GPLv2 mais sous GPLv2 avec exception "runtime".
    Bref, la même licence que libstdc++, la bibliothèque standard de GCC.

    En particulier, on est autorisé à s'en servir dans du code propriétaire.
    Boost ftw

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par loufoque
    Elle n'est pas sous GPLv2 mais sous GPLv2 avec exception "runtime".
    Bref, la même licence que libstdc++, la bibliothèque standard de C++.

    En particulier, on est autorisé à s'en servir dans du code propriétaire.
    Merci sur ta précision sur les dispositions légales.
    C'est encore mieux pour certains. Mais je ne comprends plus alors l'utilité d'une licence commerciale...

    Maintenant que j'ai programmé ma propre gestion multi-thread (en m'en inspirant alors que je n'en avais pas encore le code), je ne vais de toute façon pas utiliser TBB. En tout cas cette librairie surpasse largement Boost & Co, dans le domaine du multi-threading. Boost se borne à faire quelques 'wrappers' sur les librairies systèmes...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Citation Envoyé par Charlemagne
    Mais je ne comprends plus alors l'utilité d'une licence commerciale...
    Si tu veux lier statiquement je pense.

    MAT.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Tu peux déjà lier statiquement avec cette licence...
    Encore heureux, sinon avec tous les templates et fonctions inline c'est mal parti...

    Voici plus de détails
    http://gcc.gnu.org/onlinedocs/libstd...o/license.html

    En tout cas cette librairie surpasse largement Boost & Co, dans le domaine du multi-threading.
    Boost ne fournit pas d'outils comparables, seulement une bibliothèque de threading explicite.
    TBB fournit surtout des algorithmes au parallélisme implicite et des structures de données concurrentes.
    Ce n'est pas vraiment une question de supériorité, mais plutôt d'outils différents.
    Boost ftw

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    A ce compte là, tout est différent et rien n'est meilleur qu'autre chose...
    Le fait est que la gestion multi-thread dans Boost est loin d'être suffisante pour être intéressante.

    Perso j'aime pas Boost. Les 2-3 fois où j'ai regardé la solution Boost à des problèmes j'ai été déçu.
    -multi-thread= wrappers vers les librairies systèmes
    -ublas= wrappers vers la librairie ATLAS ou autre
    (Si je voulais être cynique je me demanderais ce que Boost implémente vraiment)
    Mais je ne veux pas parler de Boost. Je clos le hors sujet.

    J'ai posté cette discussion sur TBB, et je préfère que les gens en donnent leurs impressions, et libres à eux de la comparer à d'autres librairies.
    Si TBB, dorénavant Open Source, peut en aider quelque uns, tant mieux.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Citation Envoyé par loufoque
    Tu peux déjà lier statiquement avec cette licence...
    Effectivement...
    Du coup la licence commerciale doit juste servir quand on veut pouvoir modifier les sources sans avoir de compte à rendre ?

    MAT.

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ca me paraît pas mal pour beaucoup de programme qui pourront bénéficier de cela. Maintenant, c'ets vrai qu'il faut voir si c'est facile à utiliser par rapport au gain apporté.

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    Je la trouve super simple, et super bien documentée. C'est avec cette librairie que j'ai fait mes premiers pas en multi-threading.

    Il faut juste avoir de bonne notions de programmation générique. Pour ceux qui apprécient les méthodes de la STL, je connais pas de meilleures librairies.

    Je trouve juste que la syntaxe des foncteurs de la librairie un peu lourde.

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 817
    Points
    1 817
    Par défaut
    Si on fait un programme avec cette librairie, fonctionnera-t-il avec un microprocesseur AMD? Et si oui, fonctionnera-t-il efficacement?

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Il fonctionnera (cf le forum de TBB). Quand à savoir si ce sera efficace, sans doute pas autant que si c'était AMD qui avait fait la bibliothèque. Et même, ce ne sera sans doute pas optimal pour tous les processeurs Intel non plus.

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    940
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 940
    Points : 1 817
    Points
    1 817
    Par défaut
    Merci.

    Quand à l'utilité de la licence commerciale, c'est aussi pour le support Intel.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2014, 17h09
  2. Threading Building Blocks (TBB), section critique et mutex
    Par simong dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 01/07/2010, 18h38
  3. Comment utiliser TBB ? (Intel Thread Building Blocks)
    Par LostInGeekLand dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 20/03/2008, 15h27

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