多线程求pi实验报告

多线程求pi实验报告

ID:30092947

大小:16.47 KB

页数:6页

时间:2018-12-26

多线程求pi实验报告_第1页
多线程求pi实验报告_第2页
多线程求pi实验报告_第3页
多线程求pi实验报告_第4页
多线程求pi实验报告_第5页
资源描述:

《多线程求pi实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划多线程求pi实验报告  MonteCarlo方法计算Pi  一、实验要求  以OpenMP实现MonteCarlo计算Pi的并行程序注意:  ?制导循环编译?共享变量的处理?编译运行  比较  ?修改测试点数,提高计算精度。?利用OpenMP实现积分法,比较。  二、实验原理  通过蒙特卡罗算法计算圆周率的主导思想是:统计学  ?1.一个正方形有一个内切圆,向这个正方形内随机的画点,则点落  在圆内的概论为P=圆面积/正方形面积。  ?2.在一个平面直角坐标系下

2、,在点处画一个半径为R=1的  圆,以这个圆画一个外接正方形,其边长为R=1(R=1时,圆面积即Pi)。  ?3.随机取一点使得0  #include#include#includeusingnamespacestd;  int_tmain(intargc,_TCHAR*argv[]){  longmax=;longi,count=0;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 

3、 doublex,y,bulk,starttime,endtime;time_tt;  cout>max;  starttime=clock();  //产生以当前时间开始的随机种子srand((unsigned)time(&t));#pragmaompparallelfornum_threads(8)default(shared)private(x,y)reduction(+:count)for(i=0;i#include#include  #includeusingnamespacestd;  staticlongnum_steps=10;doublestep,pi;

4、  int_tmain(intargc,_TCHAR*argv[]){  inti;  doublex,sum=;  clock_tstart,finish;  printf("请输入您要用几步来进行计算");cin>>num_steps;  step=/(double)num_steps;start=clock();  #pragmaompparallelfornum_threads(8)default(shared)private(x)reduction(+:sum)  for(i=0;i  #include  #include目的-通过该培训员工可对保安行业有初

5、步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  #include  #include  longnum_steps=10000;//每一块中的分得块数或者是每个进程中执行的步数  double*sum;//用来存储各个进程的计算结果  doublestep;//每一块的宽度大小  DWORDWINAPIfun(LPVOIDpArg)//进程中用来执行的函数  {  inta1=*((int*)pArg);  doub

6、lex;  for(inti=a1*num_steps;i>parts;  cout>num_steps;  a=newint[parts];  handle=newHANDLE[parts];  sum=newdouble[parts];  step=/((double)num_steps*parts);  for(i=0;i  #include  #include  #include目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展

7、,特制定安保从业人员的业务技能及个人素质的培训计划  longnum_steps=10000;//每一块中的分得块数或者是每个进程中执行的步数  int*a;//用来存储从何处开始计算的标记  doublesum;//用来存储各个进程的计算结果  doublestep;//每一块的宽度大小  CRITICAL_SECTIONsum_cs;//临界区标记  DWORDWINAPIfun(LPVOIDpArg)//进程中用来执行的函数  {  inta1=*((int*)pArg);  doublex=0,sum1=0;  for

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。