#include #include #include #include #include int main(int argc, char** argv) { int Nx1 = 4096+4096; int i; int j; int tnot; int seed = 86456; double * T = malloc(Nx1 * sizeof(double)); srand(time(NULL)); for ( i = 0; i < Nx1; i++ ) T[i] = rand(); #pragma omp parallel shared(T,Nx1) private(i,j) default(shared) { tnot = omp_get_num_threads(); // get the total number of threads currently running this PR # pragma omp for schedule(static,Nx1/tnot) for ( i = 0; i < Nx1; i++ ) for ( j = 0; j < Nx1; j++ ) T[i] = T[i] + sqrt(abs((cos(T[i]+sin(T[j])))))/T[j]; } free(T); return 0; }