Parallèlisation d'un programme avec MPICH - C++ - Programmation
Marsh Posté le 04-10-2006 à 16:25:53
tu peux poster la ligne de commande que tu utilises pour lancer le programme ?
Marsh Posté le 06-10-2006 à 20:00:39
Je compile le programme par les commandes :
g++ -c main.C -I/usr/local/mpich-1.2.7pl/include
g++ -o main main.o -lmpich -L/usr/local/mpich-1.2.7pl/lib
et je lance simplement par :
main
Est-ce que c'est cela qui me pose problème ?
Marsh Posté le 07-10-2006 à 00:13:36
oui, c'est sans doute là qu'est ton problème.
* Il vaut mieux que tu compiles avec mpiCC (qui est juste un alias pour g++ avec les bonnes options ; tu sembles l'avoir bien fait à la main, mais c'est plus simple d'utiliser les outils fournis )
* Il faut que tu exécutes ton binaire avec mpirun (dont les options en ligne de commande te permettent de déterminer le nombre de processeurs à utiliser, etc.)
Marsh Posté le 04-10-2006 à 15:27:50
Bonjour,
Je cherche à réaliser un programme parallèle avec MPICH-1.2.7pl sur un cluster de trois machines.
Pour cela, j'ai déja repris un programme de test classique trouvé dans un tutorial pour vérifier que les machines communiquent entre-elles.
Néanmoins, j'ai déja un souci. En effet, le programme suivant :
ne me renvoie rien alors qu'il devrait donner le "message" à deux occasions, sur les 2 processeurs sur lesquels il est envoyé.
Ce qui m'inquiète en fait c'est que la variable " p " reste fixée à 1 dès le début du calcul, quand j'en demande la valeur, alors qu'elle devrait être égale à 3, le nombre de processeurs reliés entre eux.
Pourtant le fichier /usr/local/mpich-1.2.7pl/util/machines/machines.LINUX contient bien le nom des 3 machines visibles !
Sauriez-vous d'ou vient le problème ?
Merci d'avance de votre aide,
Nathan