Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 8353011c authored by thierry's avatar thierry
Browse files

Update

parent 9d1b65a0
No related branches found
No related tags found
No related merge requests found
#include <iostream>
#include <omp.h>
int fibonacci(int n)
{
if (n<2)
return n;
int sum;
int r1;
int r2;
#pragma omp task depend(out:r1) shared(r1) firstprivate(n)
r1 = fibonacci(n-1);
#pragma omp task depend(out:r2) shared(r2) firstprivate(n)
r2 = fibonacci(n-2);
#pragma omp task depend(out:sum) depend(in:r1,r2) shared(r1,r2,sum)
sum = r1 + r2;
#pragma omp taskwait
return sum;
}
int main(int argc, char** argv)
{
int r, n;
n = atoi(argv[1]);
double t0 = omp_get_wtime();
#pragma omp parallel shared(r) firstprivate(n)
{
#pragma omp master
{
#pragma omp task depend(out:r) firstprivate(n) shared(r)
r = fibonacci( n );
#pragma omp task depend(in:r) firstprivate(n) shared(r)
{
double t1 = omp_get_wtime();
std::cout <<"Fibonacci(" << n << ") =" << r << std::endl;
std::cout << "Time: " << t1-t0 << std::endl;
}
}
}
return 0;
}
#include <iostream>
#include <omp.h>
int fibonacci(int n)
{
if (n<2)
return n;
int sum;
int r1;
int r2;
#pragma omp task if (n>20) depend(out:r1) shared(r1) firstprivate(n)
r1 = fibonacci(n-1);
#pragma omp task if (n>20) depend(out:r2) shared(r2) firstprivate(n)
r2 = fibonacci(n-2);
#pragma omp task if (n>20) depend(out:sum) depend(in:r1,r2) shared(r1,r2,sum)
sum = r1 + r2;
#pragma omp taskwait
return sum;
}
int main(int argc, char** argv)
{
int r, n;
n = atoi(argv[1]);
double t0 = omp_get_wtime();
#pragma omp parallel shared(r) firstprivate(n)
{
#pragma omp master
{
#pragma omp task depend(out:r) firstprivate(n) shared(r)
r = fibonacci( n );
#pragma omp task depend(in:r) firstprivate(n) shared(r)
{
double t1 = omp_get_wtime();
std::cout <<"Fibonacci(" << n << ") =" << r << std::endl;
std::cout << "Time: " << t1-t0 << std::endl;
}
}
}
return 0;
}
#include <iostream>
#include <omp.h>
int fibonacci(const int n)
{
if (n<2)
return n;
else {
int r1,r2;
#pragma omp task shared(r2) firstprivate(n)
r2 = fibonacci( n-2 );
#pragma omp task shared(r1) firstprivate(n)
r1 = fibonacci( n-1 );
#pragma omp taskwait
return r1 + r2;
}
}
int main(int argc, char** argv)
{
int r, n;
n = atoi(argv[1]);
double t0 = omp_get_wtime();
#pragma omp parallel shared(r) firstprivate(n)
{
#pragma omp master
{
#pragma omp task shared(r) firstprivate(n)
r = fibonacci( n );
#pragma omp taskwait
}
}
double t1 = omp_get_wtime();
std::cout << "Fibonacci(" << n << ") =" << r << std::endl;
std::cout << "Time: " << t1-t0 << std::endl;
return 0;
}
#include <iostream>
#include <omp.h>
int fibonacci(const int n)
{
if (n<2)
return n;
else {
int r1,r2;
#pragma omp task shared(r2) firstprivate(n)
r2 = fibonacci( n-2 );
r1 = fibonacci( n-1 );
#pragma omp taskwait
return r1 + r2;
}
}
int main(int argc, char** argv)
{
int r, n;
n = atoi(argv[1]);
double t0 = omp_get_wtime();
#pragma omp parallel shared(r) firstprivate(n)
{
#pragma omp master
{
#pragma omp task shared(r) firstprivate(n)
r = fibonacci( n );
}
}
double t1 = omp_get_wtime();
std::cout <<"Fibonacci(" << n << ") =" << r << std::endl;
std::cout << "Time: " << t1-t0 << std::endl;
return 0;
}
#include <iostream>
#include <omp.h>
int fibonacci(const int n)
{
if (n<2)
return n;
else {
int r1,r2;
#pragma omp task if (n>10) shared(r2) firstprivate(n)
r2 = fibonacci( n-2 );
r1 = fibonacci( n-1 );
#pragma omp taskwait
return r1 + r2;
}
}
int main(int argc, char** argv)
{
int r, n;
n = atoi(argv[1]);
double t0 = omp_get_wtime();
#pragma omp parallel shared(r) firstprivate(n)
{
#pragma omp master
{
#pragma omp task shared(r) firstprivate(n)
r = fibonacci( n );
}
}
double t1 = omp_get_wtime();
std::cout <<"Fibonacci(" << n << ") =" << r << std::endl;
std::cout << "Time: " << t1-t0 << std::endl;
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment