OpenMP-Programm ist langsamer als sequentiell
Wenn ich den folgenden Code versuche
double start = omp_get_wtime();
long i;
#pragma omp parallel for
for (i = 0; i <= 1000000000; i++) {
double x = rand();
}
double end = omp_get_wtime();
printf("%f\n", end - start);
Die Ausführungszeit beträgt ca. 168 Sekunden, während die sequentielle Version nur 20 Sekunden benötigt.
Ich bin immer noch ein Neuling in der Parallelprogrammierung. Wie könnte ich eine parallele Version bekommen, die schneller ist als die sequentielle?