OpenMP并行计算PI的值

简介:

用VS新建一个工程后,首先要右键项目,属性--C/C++--语言,,在右边的对话框中OpenMP支持选择是;

程序代码为:

#include<stdio.h>

#include<time.h>

#include<omp.h>

 

static long num_steps = 100000;

double step,pi;

void main()

{

    clock_t t1=clock();

    int i;

    double x,sum = 0.0;

    step = 1.0/(double)num_steps;

#pragma omp parallel for reduction(+:sum)

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

    {

        x = (i+0.5)*step;

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

        printf("%d",omp_get_thread_num());

    }

    pi = step *sum;

    clock_t t2 =clock();

    printf("pi=%f,用时:%d\n",pi,t2-t1);

}

 上述代码使用了规约rduction(op:list);这样每个线程会有一个私有的list,当所有线程的list计算完成之后,每个线程的私有list值将被op规约为一个list值。

相关文章
|
8月前
|
缓存 并行计算 算法
MPI并行计算的基本介绍和使用
MPI并行计算的基本介绍和使用
355 1
|
3月前
|
机器学习/深度学习 并行计算 调度
CuPy:将 NumPy 数组调度到 GPU 上运行
CuPy:将 NumPy 数组调度到 GPU 上运行
141 1
|
7月前
|
并行计算 算法 C#
C# Mandelbrot和Julia分形图像生成程序更新到2010-9-14版 支持多线程计算 多核处理器
此文档是一个关于分形图像生成器的介绍,作者分享了个人开发的M-J算法集成及色彩创新,包括源代码和历史版本。作者欢迎有兴趣的读者留言交流,并提供了邮箱(delacroix_xu@sina.com)以分享资源。文中还展示了程序的发展历程,如增加了真彩色效果、圈选放大、历史记录等功能,并分享了几幅精美的分形图像。此外,还提到了程序的新特性,如导入ini文件批量输出图像和更新一批图片的功能。文档末尾附有多张程序生成的高分辨率分形图像示例。
|
7月前
|
Python
使用Python计算有效值函数(RMS值)
使用Python计算有效值函数(RMS值)
565 0
|
算法 Python
python与算法:两种计算平方根的算法的开销
python与算法:两种计算平方根的算法的开销
173 0
python与算法:两种计算平方根的算法的开销
|
并行计算 算法
《并行计算的编程模型》一2.6.5 MCS Locks示例
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.6.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1206 0
|
并行计算
《并行计算的编程模型》一2.6.4 AM Ring示例
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.6.4节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
983 0
|
并行计算 C语言 C++
《并行计算的编程模型》一1.2 MPI基础
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2189 0