欢迎来到天天文库
浏览记录
ID:30092947
大小:16.47 KB
页数:6页
时间:2018-12-26
《多线程求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
此文档下载收益归作者所有