-
Utilisation MPI et GPU
Bonjour
Je cherche quelques renseignements sur la méthode MPI. Précisons que je débute sur cette méthode. (mais que je sais utiliser le fortran 95) ;)
2 choses :
Puis je simuler un calcul parallèle sur mon ordinateur en créant 2 thread ? (je n'ai qu'un seul CPU, mais c'est pour voir le principe)
Plus osé, je cherche à savoir si il est possible de recourir au GPU pour booster les calculs, et ce en créant un Thread supplémentaire avec la méthode MPI. En effet, sur mon portable (qui a 4 ans, mais qui se défend toujours avec acharnement ;)), la carte 3D possède la puissance de 0.5 fois le CPU, ce qui me permettrait de nettement diminuer mes temps de calculs. Cela pourrai aussi être utile sur un multi-cœur, afin d'assigner pleinement chaque cœur à 100% au calcul.
Pourquoi ces questions : je vais bientôt débuter un stage traitant de simulations DNS, et donc recourant au calcul parallèle. Histoire de ne pas débarquer comme le dernier des imbéciles, je souhaite me préparer :D
Merci pour votre aide, même si ce n'est que pour une seul des 2 questions ;)
-
MPI, ce n'est pas du multithreading, mais du multiprocessing. Mais oui, tu peux créer deux processus MPI et voir comment ça fonctionne. Mais ça ne te permettra pas de voir tous les problèmes que tu pourrais rencontrer ;)
Maintenant, MPI, c'est orthogonal au GPU. Dans un processus MPI, tu peux appeler ton GPU (attention de ne pas appeler plusieurs fois ton GPU dans plusieurs processus MPI si ce n'est pas supporté par ton GPU).
-
Bonjour
merci beaucoup pour ces informations. :D Je vais donc pouvoir essayer de créer des codes parallèles, ce qui est excellente nouvelle. ;)
Mon GPU ne peut supporter plusieurs thread, aussi vais-je en effet devoir faire attention. Cependant, je ne parvient pas à mettre la main sur les librairies permettant d'appeler le GPU comme unité de calcul. De plus, je ne suis pas sur que les compilateurs actuels (type g95) acceptent ce genre de fantaisies... A la rigueur en appelant du code C, mais sous windows, ca vas être coton.
Connais tu un moyen simple de solliciter le GPU en fortran ?
-
Non. Ce qu'il faut surtout que tu comprennes, c'est :
- qu'il n'y a pas de standard actuellement pour le GPGPU
- qu'il s'agira de C modifié ou de C++ modifié
- que donc tu devras accéder à ces fonctions à travers une encapsulation.
-
Arf, comme Mhier et son Pilib. Du GTK+ encapsulé pour créer une interface graphique au Fortran 95. (Ca marchait plutôt bien d'ailleurs ;) )
Bon, cela vas donc être trop compliqué pour moi. Je laisse tomber le GPU.
Une dernière question : puis je utiliser la méthode MPI avec 2 ordinateurs en réseau, et si oui, as tu une idée du comment de la chose ?
(après c'est promis, je ne t'embête plus ;) )
-
Oui, c'est possible avec un maître MPI. Si tu es sous Windows, je pense que LAMMPI est une réponse à ton problème.
-
C'est parfait !! :D
J'ai tout en main maintenant. Calcul parallèle, à nous deux !! :aie:
Merci beaucoup pour ton aide :king: