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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quelle bibliothèque utilisez-vous pour la programmation parallèle ?
Partagez votre expérience

Le , par 3DArchi

39PARTAGES

1  0 
Quelle bibliothèque pour la programmation parallèle ?
OpenMP
57 %
Nvidia CUDA
37 %
Intel Threading Building Block
23 %
OpenCL
20 %
QtConcurrent
20 %
Boost.MPI
13 %
Microsoft C++ AMP
10 %
Microsoft PPL
10 %
Microsoft DirectCompute
3 %
Intel Array Building Blocks
3 %
ATI Stream
0 %
Open AAC
0 %
Intel Cilk Plus
0 %
Autres (précisez)
10 %
Voter 30 votants
Bonjour,

Un volet du développement multithread a pour objectif de distribuer les calculs sur plusieurs cœurs d'exécution afin de permettre d'améliorer sensiblement les performances et de pouvoir supporter une montée en charge des données à traiter. Plusieurs bibliothèques existent utilisant différentes approches :
  • SIMD
  • Multicoeur/multiprocesseur
  • GPGPU

Certaines bibliothèques interviennent sur plusieurs de ces différentes possibilités.

Laquelle/Lesquelles utilisez-vous ou aimeriez-vous utiliser sur vos projets ? Quels sont leurs avantages ? Leurs inconvénients ? Que manque-t-il ?

Ce sondage est le pendant de celui ci qui porte sur la programmation concurrente.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de RPGamer
Membre averti https://www.developpez.com
Le 04/08/2015 à 12:18
Attention, plusieurs concepts qui n'ont rien à voir son mélangés dans ce sondage. La programmation concurrente (multithreading) n'a aucun rapport avec la programmation parallélisée (SIMD par ex). Je dirais même que le choix d'utiliser telle ou telle approche est fait dans des contextes totalement différents.
2  0 
Avatar de Lightness1024
Membre régulier https://www.developpez.com
Le 18/12/2011 à 21:40
il ne faut pas oublier Thrust
0  0 
Avatar de bzerath
Membre régulier https://www.developpez.com
Le 19/12/2011 à 10:42
En Java j'utilise Ateji PX. C'est pas mal, ca simplifie vachement le parallélisme.

Juste dommage que faute de moyens ils n'aient pas sorti de version stable pour la programation sur le GPU.

http://www.ateji.com/
0  0 
Avatar de YannPeniguel
Membre éprouvé https://www.developpez.com
Le 19/12/2011 à 11:37
En C++, j'ai utilisé les QThread du Framework Qt: http://developer.qt.nokia.com/doc/qt...8/qthread.html
En C, j'ai utilisé les threads Poxix: https://computing.llnl.gov/tutorials/pthreads/
Et les threads de la glib: http://developer.gnome.org/glib/2.28...b-Threads.html
0  0 
Avatar de tbarry
Membre du Club https://www.developpez.com
Le 19/12/2011 à 16:34
en C, j'utilise l'extension Openmp, facile à utiliser et très efficace, tout en restant très proche du séquentiel.
>possibilité de fixer ou pas le nombre de coeur à utiliser, et de partager le travaille de façon dynamique/statique entre les coeurs rien qu'avec des directives ex: #pragma openmp parallele for.... pour paralléliser une boucle for

don't patch a bad code, rewrite it
0  0 
Avatar de OcterA
Membre actif https://www.developpez.com
Le 19/12/2011 à 17:13
Idem pour moi, j'ai utiliser la librairie OpenMP lors d'un projet de traitement d'image en C++.
Cette libraire grâce à ces pragma super bien foutu et très intuitive m'as permis d'améliorer mes performance de filtres (algo déjà optimisé au maximum) par 10.
Comme l'as fait souligner tbarry, une petite pragme du genre "#pragma openmp parallele for" juste avant votre for et le tour est (quasiment) joué.
0  0 
Avatar de vivi168
Candidat au Club https://www.developpez.com
Le 21/12/2011 à 0:06
en c les posix thread
0  0 
Avatar de Rozebud
Membre à l'essai https://www.developpez.com
Le 21/12/2011 à 0:16
CUDA et PyCUDA sont très pratiques pour les calculs numériques intenses.
0  0 
Avatar de mhtrinh
Membre habitué https://www.developpez.com
Le 21/12/2011 à 0:40
en C avec OpenMPI
Je suppose que Boost.MPI c'est pour du C++ ?
0  0 
Avatar de shenron666
Expert confirmé https://www.developpez.com
Le 21/12/2011 à 10:55
en C++ : au début j'utilisais les threads de l'api win32 puis j'ai testé un peu OpenMP et finalement j'ai jeté mon dévolu sur Boost.Threads qui a le gros avantage d'être portable
mais ça fait près de 2 ans que je n'ai pas fait de C++

en C# : TPL et Reactive Framework
0  0