Accueil🇫🇷Chercher

Threading Building Blocks

Threading Building Blocks (TBB) est une bibliothèque logicielle développée par la société Intel

Cet outil développé en C++ permet d'abstraire au maximum les détails complexes de la programmation sur microprocesseur multi cœur. Ainsi un développeur n'a plus à se soucier d'écrire son code pour les threads (processus léger) POSIX ou pour les threads Windows car c'est TBB qui s'occupe de tous les détails spécifiques.

La bibliothèque TBB fonctionne sur différents compilateurs (Intel, Microsoft et GCC) et se veut donc parfaitement indépendante de l'architecture sous-jacente, comme de l'environnement logiciel.

Elle se compose principalement d'algorithmes (parallel_for, parallel_while et parallel_reduce) et de containers (concurrent_queue). Bien que ses algorithmes soient différents de ceux de la Standard Template Library, ils pourraient être utilisés pour en reprogrammer des versions parallèles.

Licence

TBB est sous une double licence :

La version commerciale de TBB contient exactement le même code que la version libre et ne se distingue que par le support technique d'une durée d'un an. Elle supporte Windows, GNU/Linux et Mac OS X, alors que la version libre y ajoute Solaris 10, FreeBSD et le support des processeurs PowerPC G5 sur Mac OS.

Liens

Site officiel (en)

Voir aussi

La parallélisation d'algorithmes est un domaine exploré notamment depuis la standardisation apportées par la Standard Template Library, la normalisation de la bibliothèque POSIX de multi-threading, et la généralisation des processeurs multi-cores. Ce secteur étant loin d'être mûr techniquement, à terme, certaines pratiques de programmation seront écartées et d'autres seront définitivement adoptées. Pour l'heure, un certain nombre de tentatives similaires existent:

  • STAPL qui propose des containers distribuĂ©s, adaptĂ©s au traitement parallèle, nĂ©cessitant cependant des modifications importantes d'un programme sĂ©quentiel existant.
  • Range Partition Adaptors (RPA) strictement compatible avec STL.
  • OpenMP, prĂ©compilateur et compilateur destinĂ© au calcul parallèle sur architecture Ă  mĂ©moire partagĂ©e, et fonctionnant avec les langages C, C++ et Fortran.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.