Darkko
Cadet 4th Year
- Registriert
- Juni 2011
- Beiträge
- 64
Hallo
Ich versuche folgenden Code über die Konsole zum Laufen zu bringen:
Der Sinn des Codes sei mal dahingestellt, der dient nur zu Testzwecken.
Problem: Das Programm wird über die Konsole mit "mpiexec -n 4 testing" nicht ausgeführt, bzw. es terminiert sofort (keine Fehlermeldung). Ohne MPI läuft es wie erwartet, aber halt nur mit einem Prozess und 4 threads. Muss ich beim Aufruf noch andere Parameter mitgeben damit dieser sogenannte hybride Code korrekt ausgeführt wird?
Kompiliert wurde aus eclipse mit mingw64.
Danke für die Hilfe.
Cheers Darkko
Ich versuche folgenden Code über die Konsole zum Laufen zu bringen:
Code:
#include <iostream>
#include <omp.h>
#include <mpi.h>
using namespace std;
int main() {
int x = 20000 * 20000;
double y = 1.2345;
double *a = new double[x];
#pragma omp parallel num_threads(4)
for (int i = 0; i < x; i++) {
a[i] = y * 1.2345;
}
MPI_Init(NULL, NULL);
int rank, size;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf("%d\n",size);
printf("%d",rank);
MPI_Finalize();
return 0;
}
Der Sinn des Codes sei mal dahingestellt, der dient nur zu Testzwecken.
Problem: Das Programm wird über die Konsole mit "mpiexec -n 4 testing" nicht ausgeführt, bzw. es terminiert sofort (keine Fehlermeldung). Ohne MPI läuft es wie erwartet, aber halt nur mit einem Prozess und 4 threads. Muss ich beim Aufruf noch andere Parameter mitgeben damit dieser sogenannte hybride Code korrekt ausgeführt wird?
Kompiliert wurde aus eclipse mit mingw64.
Danke für die Hilfe.
Cheers Darkko