MPI

Vorlesungen, Seminare und Praktika aus dem Bereich Angewandte Informatik
Lectures, seminars and labs from the area Applied Computer Science

MPI

Beitragvon hla » 12.04.12 22:17

Ich habe eine Funktion g_ , die in Parallel Funktionen g_1 , g_2, g_3 und g_4 auszuführen soll.
Ich möchte in die „Main Funktion“ die Funktionen f_1, f_2, f_3 ...f_n, in serielle auszuführen.
Mein Code sollte ungefähr so aussehen:

Void g_(){

MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);

if (rank == 0) {

}

if (rank == 1) {
g_1
}

if (rank == 2) {
g_2
}
...
...

MPI_Finalize();

}


Void f_3(){
S_();
g_();
k_();
}


int main(int argc, char* argv[]){

f_1;
f_2;
f_3;
f_4;

return 0;
}
Weiß jemand wie ich den Programm richtig strukturieren kann?
hla
 
Beiträge: 2
Registriert: 12.04.12 20:50
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: Mathe

Re: MPI

Beitragvon AGo » 13.04.12 11:23

Irgendwie klingt das arg nach einer der ersten Übungen im Parallelrechner-Lab...
Benutzeravatar
AGo
0x41476F
 
Beiträge: 2181
Registriert: 09.09.05 18:21
Wohnort: Awf
Studiengang: Informatik (Dipl.)
Anwendungsfach: BWL

Re: MPI

Beitragvon cracki » 13.04.12 22:04

struktur stimmt schon mal, so grob. wo ist denn das problem?
"I suppose if what you said had any merit it would occasion hostility." -- Kenny Tilton
Frische Vorlesungen! -- video.rwth-aachen.de
Benutzeravatar
cracki
 
Beiträge: 537
Registriert: 22.02.08 14:51
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: ?
Anwendungsfach: Medizin

Re: MPI

Beitragvon hla » 13.04.12 23:56

Danke für die Antwort. Das problem ist ob man MPI auserhalb der „main funktion“ initialisieren kann?? Wenn Ja, gibt es beispiele dafür?
hla
 
Beiträge: 2
Registriert: 12.04.12 20:50
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: Mathe

Re: MPI

Beitragvon theTux » 14.04.12 11:03

Wo du MPI initialisierst, ist ziemlich egal. Es muss nur initialisiert sein, bevor du die erste Funktion aufrufst.
Allerdings steigt natürlich die Wahrscheinlichkeit, dass dein Code unübersichtlich wird, wenn du die Initialisierungsroutinen an verschiedenen Stellen aufrufst.
Stur lächeln und... oh, falscher Pinguin.
Benutzeravatar
theTux
 
Beiträge: 577
Registriert: 15.01.06 16:41

Re: MPI

Beitragvon cracki » 15.04.12 23:47

hla hat geschrieben:Danke für die Antwort. Das problem ist ob man MPI auserhalb der „main funktion“ initialisieren kann?? Wenn Ja, gibt es beispiele dafür?


MPI_Init will argc und argv. die kannst du liebend gern in eine unterfunktion durchreichen, aber das waere irrsinn.

MPI_Init gehoert in die main(). muesste ich hier was bepunkten, gaebs fuer alles andere punktabzug ;)
"I suppose if what you said had any merit it would occasion hostility." -- Kenny Tilton
Frische Vorlesungen! -- video.rwth-aachen.de
Benutzeravatar
cracki
 
Beiträge: 537
Registriert: 22.02.08 14:51
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: ?
Anwendungsfach: Medizin

Re: MPI

Beitragvon oxygen » 16.04.12 15:58

cracki hat geschrieben:MPI_Init will argc und argv. die kannst du liebend gern in eine unterfunktion durchreichen, aber das waere irrsinn.
findest du? ich mein bei so einem minimal beispiel macht es wenig sinn, aber für ein "richtiges" Programm fänd ich das schon ok
oxygen
 
Beiträge: 1054
Registriert: 16.12.05 23:05
Wohnort: Bergheim
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: Medizin


Zurück zu Angewandte Informatik / Applied Computer Science