Ouverture officielle du forum d'entraide sur la programmation parallèle

Le , par dourouc05, Responsable Qt
Voici créé ce forum dédié à la programmation parallèle. Il vise à rassembler toutes les questions sur la programmation parallèle en général, à la parallélisation d'algorithmes, etc.

C'est un domaine qui arrive de plus en plus dans le quotidien des développeurs, ne fut-ce que parce que les fabricants de processeurs ne font plus la guerre au gigahertz mais bien au nombre de cœurs : il ne suffit plus d'optimiser ses algorithmes, il faut encore qu'ils puissent utiliser les cœurs disponibles. Cela fait qu'il faut changer la vision dans le développement, paralléliser tout ce qui peut l'être.

Le constat devient plus important quand on remarque l'arrivée de superordinateurs à base de GPU, de processeurs graphiques : on peut produire des superordinateurs moins coûteux et moins énergivores pour des performances comparables, à condition de paralléliser correctement les traitements. Sans atteindre des besoins monstres, des traitements plus communs, comme FastROCS, peuvent atteindre des performances bien supérieures à l'aide des technologies GPGPU qu'avec du matériel plus commun.

Une pléthore d'outils sont d'ores et déjà disponibles : ceux de threading disponibles dans la majorité des langages, les technologies déployées dans plusieurs langages (MPI, OpenMP...), qui restent dans le domaine des calculs sur CPU ; pour le GPGPU, on peut citer notamment CUDA et OpenCL, pour qui deux forums plus spécifiques existent déjà.

Pour faire vivre ce forum, on peut envisager beaucoup d'options : que ce soit par la rédaction d'articles ou d'une FAQ, toute idée et investissement sont les bienvenus, n'hésitez pas à répondre à ce topic et/ou à me contacter par MP si vous souhaitez participer !

Le forum de Développez dédié à la programmation parallèle


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de TropMDR TropMDR - Membre éprouvé https://www.developpez.com
le 23/05/2011 à 8:20
Pour commencer le premier troll: j'imagine que le forum est là aussi pour la programmation concurrente ?
Avatar de dourouc05 dourouc05 - Responsable Qt https://www.developpez.com
le 23/05/2011 à 10:17
Citation Envoyé par TropMDR  Voir le message
Pour commencer le premier troll: j'imagine que le forum est là aussi pour la programmation concurrente ?

Oui, évidemment . Les sujets sont très liés et on ne peut pas tout mettre dans le titre d'un forum .
Avatar de WebPac WebPac - Membre confirmé https://www.developpez.com
le 23/05/2011 à 23:06
Bonjour,

n'est-il pas difficile de rassembler dans un forum "Langages en général" des bibliothèques ou framework fortement liés à un langage donné ?
Je m'intéresse à ce sujet mais dans le domaine du .Net avec par exemple Parallel LINQ et il y a une news qui est sortie aussi à ce sujet sur Dvpz : .NET : vers une programmation parallèle plus simple avec deux nouvelles librairies du framework de Microsoft.

Mais je doute que les solutions apportées pour .Net puissent être transposables à d'autres langages comme le C++ ou Java.
Et inversement, il doit exister des solutions dans ces langages qui ne se transposent pas en .Net.

En fait, je me vois mal poser une question sur ce forum alors qu'il existe déjà un forum pour le langage concerné.
Avatar de Heimdall Heimdall - Membre régulier https://www.developpez.com
le 23/05/2011 à 23:25
Si ta question est d'avantage liée à un langage ou a une bibliothèque développée pour un seul langage qu'à une technique parallèle à proprement parler, alors peut-être qu'effectivement ce forum n'est pas le lieu pour la poser.

De même qu'on peut se poser la question de comment on fait une liste chainée dans le forum "algorithmes" ou dans le forum "C", tout dépend de la couleur de la question.. on peut poser une question parallélisme ici ou dans un autre forum. Je ne pense pas qu'il y ait de tri absolu.

Ici en revanche, on peut se poser des question sur le parallélisme a proprement parler comme "quelle technique pour optimiser les communications entre les processeurs dans tel algorithme ?" ou "comment paralléliser tel algorithme ?", "que vaut la parallélisation automatique de Gcc ?", "vaut-il mieux utiliser la parallélisation à mémoire partagée ou pas pour tel problème ?" etc... je pense que ce genre de questions n'avaient de place nulle part ailleurs avant.
Avatar de WebPac WebPac - Membre confirmé https://www.developpez.com
le 23/05/2011 à 23:38
Citation Envoyé par Heimdall  Voir le message
Si ta question est d'avantage liée à un langage ou a une bibliothèque développée pour un seul langage qu'à une technique parallèle à proprement parler, alors peut-être qu'effectivement ce forum n'est pas le lieu pour la poser.

De même qu'on peut se poser la question de comment on fait une liste chainée dans le forum "algorithmes" ou dans le forum "C", tout dépend de la couleur de la question.. on peut poser une question parallélisme ici ou dans un autre forum. Je ne pense pas qu'il y ait de tri absolu.

Ici en revanche, on peut se poser des question sur le parallélisme a proprement parler comme "quelle technique pour optimiser les communications entre les processeurs dans tel algorithme ?" ou "comment paralléliser tel algorithme ?", "que vaut la parallélisation automatique de Gcc ?", "vaut-il mieux utiliser la parallélisation à mémoire partagée ou pas pour tel problème ?" etc... je pense que ce genre de questions n'avaient de place nulle part ailleurs avant.

Je suis peut-être un peu trop novice dans ce domaine, mais la réponse à chacune de tes questions exemple n'est-elle pas dépendante du langage utilisé ?
En fait, qu'entends-tu par "mémoire partagée" ?
Avatar de Heimdall Heimdall - Membre régulier https://www.developpez.com
le 23/05/2011 à 23:46
Citation Envoyé par WebPac  Voir le message
Je suis peut-être un peu trop novice dans ce domaine, mais la réponse à chacune de tes questions exemple n'est-elle pas dépendante du langage utilisé ?


Pas forcément, la bibliothèque MPI (Message Passing Interface) est disponible en C, en C++ et en Fortran, par exemple. C'est dommage de disperser les messages concernant MPI dans les 3 forums... d'autres exemples peuvent être trouvés.

Des questions typiquement algo parallèle sont également indépendantes du langage dans lequel on code.

En fait, qu'entends-tu par "mémoire partagée" ?

Le cas où tous les processeurs partagent le même espace de mémoire, à opposée avec les cas où les opérations sont fait sur des processeurs possedant leur propre mémoire et devant communiquer les variables par le réseau.

Dans le premier cas :

int a; // partagé par tous les CPU

dans le second cas

int a; // chaque CPU va avoir une valeur différente de 'a'.
Avatar de dourouc05 dourouc05 - Responsable Qt https://www.developpez.com
le 24/05/2011 à 11:31
Citation Envoyé par WebPac  Voir le message
En fait, je me vois mal poser une question sur ce forum alors qu'il existe déjà un forum pour le langage concerné.

Pas mal de problèmes sont dépendants du langage : comment utiliser Boost.Thread ? La question doit se trouver dans le forum Boost côté C++.

Par contre, comment paralléliser un algorithme, la comparaison des diverses solutions dans la programmation parallèle, etc., cela a plus sa place par ici, car ce sont des problématiques entièrement liées au concept de programmation parallèle, pas du tout d'un langage ou l'autre. Cela inclut pas mal d'algorithmique, c'est vrai, mais on déborde aussi souvent de ce cadre.
Offres d'emploi IT
Data scientist senior H/F
Safran - Ile de France - Magny-les-Hameaux (Saclay)
Ingénieur H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil