/*

#include <stdio.h>

#include <stdlib.h>

#include <omp.h>

#include <boost/timer.hpp>



int num_steps=500000000; 




#define OPENMP

int main()

{

int i;

double x, step, sum = 0.0;

step = 1.0/(double) num_steps;


boost::timer t;


#ifdef NOOPENMP

for (i=0; i<num_steps; i++) 

{

x = (i+0.5) * step;

sum += 4.0/(1.0 + x*x);

}

#endif


#ifdef OPENMP


#pragma omp parallel for

for (i=0; i<num_steps; i++) 

{

x = (i+0.5) * step;

sum += 4.0/(1.0 + x*x);

}

#endif


#ifdef OPENMP_RE

#pragma omp parallel for private(x) reduction(+:sum)

for (i=0; i<num_steps; i++) 

{

x = (i+0.5) * step;

sum += 4.0/(1.0 + x*x);

}

#endif


double t2_insert = t.elapsed();

printf("time:  %.8lf \n", t2_insert);

printf("PI = %.8f (sum = %.8f)\n", step*sum, sum);


return EXIT_SUCCESS;

}

*/


'OpenMP,PPL' 카테고리의 다른 글

FOR_reduction.cpp  (0) 2014.08.27
FOR_default.cpp  (0) 2014.08.27
CRITICAL_SECTION.cpp  (0) 2014.08.27

/*

#include <stdio.h>

#include <stdlib.h>

#include <omp.h>

#include <boost/timer.hpp>



const int num_steps=100; 



int main()

{

boost::timer t;



int sum = 0, i = 0;

int Data[num_steps] = {0};


for(i =0 ; i < num_steps; i++)

{

Data[i] = i + 1;

}

#pragma  omp parallel for reduction(+:sum)

for(i = 0 ; i < num_steps; i++)

{

sum += Data[i];

}


printf(" 총합 sum = %d \n", sum);



double t2_insert = t.elapsed();

printf("time:  %.8lf \n", t2_insert);


return EXIT_SUCCESS;

}

*/

'OpenMP,PPL' 카테고리의 다른 글

OP_TEST_REDUCTION.cpp  (0) 2014.08.27
FOR_default.cpp  (0) 2014.08.27
CRITICAL_SECTION.cpp  (0) 2014.08.27


/*

#include <stdio.h>

#include <stdlib.h>

#include <omp.h>

#include <boost/timer.hpp>



int num_steps=100; 



int main()

{

boost::timer t;


int a = 0;

printf("main area / a = %d  \n",  a);

#pragma  omp parallel default(none)  private(a) // default(shared) 

{

if( omp_get_thread_num() == 0) 

a = 1;

else 

a = 2;


printf("%d thread area / a = %d  \n", omp_get_thread_num(), a);

}


    printf("main area / a = %d  \n",  a);

double t2_insert = t.elapsed();

printf("time:  %.8lf \n", t2_insert);

return EXIT_SUCCESS;

}


*/

'OpenMP,PPL' 카테고리의 다른 글

OP_TEST_REDUCTION.cpp  (0) 2014.08.27
FOR_reduction.cpp  (0) 2014.08.27
CRITICAL_SECTION.cpp  (0) 2014.08.27

/*

#include <stdio.h>

#include <stdlib.h>

#include <omp.h>

#include <boost/timer.hpp>



const int num_steps=1000; 



int main()

{

boost::timer t;



int sum = 0, i = 0;


float * Data = new float[num_steps];


for(i =0 ; i < num_steps; i++)

{

Data[i] = i;

}

float max = 0;

#pragma  omp parallel for 

for(i = 0 ; i < num_steps; i++)

{

#pragma  omp critical (MAXVALUE)

{

if(max < Data[i])

max = Data[i];

}

}


printf("  max = %f \n", max);



double t2_insert = t.elapsed();

printf("time:  %.8lf \n", t2_insert);


return EXIT_SUCCESS;

}


*/

'OpenMP,PPL' 카테고리의 다른 글

OP_TEST_REDUCTION.cpp  (0) 2014.08.27
FOR_reduction.cpp  (0) 2014.08.27
FOR_default.cpp  (0) 2014.08.27

+ Recent posts