ompi.c

来自「一个利用OpenMP并行计算pi值的程序,双核CPU可以提高计算速度一倍,减少时」· C语言 代码 · 共 33 行

C
33
字号
#include <limits.h>
#include <stdio.h> 
#include <omp.h> 
#include <time.h> 

static long num_steps = 1000000000;
double step, pi;

int main(int argc, char **argv)
{
    int i;
    double x, sum = 0.0;
    clock_t t1, t2;
    
    #pragma omp parallel
    {
        printf("Hello, I am OpenMP!\n");
    }
    
    step = 1.0 / (double)num_steps;
    t1 = clock();
    #pragma omp parallel for reduction(+: x, sum)
    for (i = 0; i < num_steps; i++)
    {
        x = (i + 0.5) * step;
        sum = sum + 4.0 / (1.0 + x * x);
    }
    t2 = clock();
    pi = step * sum;
    printf("Pi = %f, %.3f seconds", pi, (double)(t2 - t1) / CLOCKS_PER_SEC);
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?