Übungspartner gesucht!
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Programmierung und Architekturen von Clusterrechnern
Wenn ich in der Vorlesung alles richtig verstanden hab, müssen wir ja die praktischen Aufgaben in Zweierteams abgeben und auch präsentieren. Gibt es jemanden, der wie ich auch noch einen Partner sucht?
Man kann es auch alleine machen:
“You can do a project in a group of one-to-two people. With 3 people, we will scale up the problem complexity/size!” [projects.pdf]
ich weiß, es ist schon ziemlich knapp vor den präsentationen, aber ich bekomm mein mpiprogramm einfach nicht kompiliert und zum laufen. kann mir jemand ne kurze deppenanleitung geben, wie ich das mach?
in den vorlesungsfolien sind so viele verschiedene varianten angegeben (mpicc bzw. mpic++, pbs, shell), ihc weiß nicht mehr, wo vorn und hinten ist
würde mich echt freuen!
also ein einfacher Beispielcode in c++ waere:
#include <mpi.h>
#include <ostream>
using namespace std;
int
main(int argc, char **argv)
{
int numtasks, rank, rc, dest, source, foo;
MPI_Status Stat;
rc = MPI_Init(&argc,&argv);
if (rc != MPI_SUCCESS) {
cout << "Error starting MPI program. Terminating." << endl;
MPI_Abort(MPI_COMM_WORLD, rc);
}
/* get number of processes */
MPI_Comm_size(MPI_COMM_WORLD,&numtasks);
/* get processnumber of this one */
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
if (rank == 0)
{
dest = 1;
source = 1;
foo = 4;
MPI_Send(&foo, 1, MPI_INT, dest, 1, MPI_COMM_WORLD);
MPI_Recv(&foo, 1, MPI_INT, source, 1, MPI_COMM_WORLD, &Stat);
cout << "process: " << rank << " foo^2: " << foo << endl;
}
else if (rank = 1)
{
dest = 0;
source = 0;
MPI_Recv(&foo, 1, MPI_INT, source, 1, MPI_COMM_WORLD, &Stat);
cout << "process: " << rank << " got foo: " << foo << endl;
foo = foo * foo;
MPI_Send(&foo, 1, MPI_INT, dest, 1, MPI_COMM_WORLD);
}
MPI_Finalize();
}
kompilieren und ausfuehren mit:
mpic++ filename
mpirun -np 2 a.out
das startet dann 2 Kopien des Programms
okay, dankeschön! jetzt funktionierts bei mir auch… wurde eigentlich letzten freitag noch irgendwas über die vorträge etc. wichtiges gesagt? ich war leider krank und konnte nicht kommen…
noe am Freitag war nichts, ein Vortrag wurde schon gehalten. Das wars aber auch schon
dankeschön!