0
Good evening guys. I’m having a problem involving OPENMP programming. I managed to make the code until the one I will show but it returns an error. I do not know if the result would come out too. Follow the code:
/*Desenvolver um programa em OpenMP que popule aleatoriamente um vetor de
100.000.000 registros de números inteiros em uma região paralela. Em outra região
paralela, calcule para cada posição do vetor o seu fatorial. Calcule o speedup e a
eficiência obtidos com 2 e 4 threads.*/
#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
#define N 100000
int main() {
int V[N], i, fatorial, fatorial_local;
double f;
#pragma omp parallel shared(V, fatorial) private(i, fatorial_local)
{
#pragma omp parallel for default(none) shared(V)
for (int i = 0; i < N; i++)
{
V[i] = i*V[i-1];
}
#pragma omp parallel for default(none) shared(V)
for (int i = 0; i < N; i++)
{
double f = factorial(V[i]);
}
}
printf("Fatorial é: %f\n", f);
return(0);
}