2010-03-16 5 views
0

Je dois écrire une application en utilisant MPICH2 (64 bits, au cas où vous vous poseriez la question). Une interface graphique est entièrement facultative mais serait bien sûr un énorme avantage. Mpiexec aura-t-il des difficultés à exécuter le code VC++ géré? Y a-t-il d'autres problèmes que je pourrais rencontrer lors de la compilation/liaison (conventions d'appel, etc.)?Programme MPI avec une interface graphique VC++?

Juste pour vous donner une idée, la structure générale du programme serait comme ceci:

int main(array<System::String ^> ^args) 
{ 
    /* Get MPI rank */ 

    if (rank == 0) 
    { 
     // Enabling Windows XP visual effects before any controls are created 
     Application::EnableVisualStyles(); 
     Application::SetCompatibleTextRenderingDefault(false); 

     // Create the main window and run it 
     // Send/receive messages in Form1's code 
     Application::Run(gcnew Form1()); 
    } 
    else 
    { 
     /* Send/receive messages to/from process #0 only */ 
    } 
    return 0; 
} 

Répondre

0

MPI est juste une autre bibliothèque, donc pas de magie. Votre code devrait ressembler à ceci:

MPI initialisation

si (rang == 0) Initialiser votre interface graphique;

while (1) {

si (rang == 0) obtenir des commentaires;

effectuer des calculs MPI sur l'entrée

faire rang que 0 se termine par le résultat final

si (rang == 0) Résultat d'affichage sur l'interface graphique;

}

si (rang == 0) nettoyer l'interface graphique;

nettoyer MPI

Questions connexes