高性能计算报告_第1页
高性能计算报告_第2页
高性能计算报告_第3页
高性能计算报告_第4页
高性能计算报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高性能计算实验报告学生姓名/ X X学号:XXXXXXXXXX班号:116122指导教师:郭明强中国地质大学(武汉)信息工程学院第一题1.编写console程序C:_WIN DOWSsystein32cmd.exe 乂hello, world 青按任意键继续.2.由下图看出,电脑是双核CPU孔设茵首建暮- X有文件旧握谜查茬(V)我匪凹有伞中局同旬豆7 J. DEGKTOP-GCPOPAO-EDVD/CD-ROM 驱讨1器I DE ATA/ATAPI 拦制番 处理器Cbre(TMl i5-4200H Intel(R) C&re(TM) i5-4200H Intel(R) CorefTM) i5

2、-4200H htel) CbrefTM) i5-4200H口 口口口CPU 2.80GHzCPU ZSOGHzCPU 200GHzCPU 280GHz博感器序幡控制克 打印队?!1 电池 计茸风 监视器it*3.多线程程序,利用windowsAPI函数创建线程代码#includestdafx.h”#include#includewindows.h”usingnamespace std;DWORDWINAPI first(PVOIDpParam)for (int i = 0;i 10;i+)printf(1n);return 0;DWORDWINAPI second(PVOIDpParam)f

3、or (int i = 0;i 10;i+)printf(2n);return 0;int main(intargc, char * argv )HANDLE hHandle_Calc2;hHandle_Calc0 = CreateThread(NULL, 0, first, NULL, 0, NULL);hHandle_Calc1 = CreateThread(NULL, 0, second, NULL, 0, NULL);WaitForMultipleObjects(2, hHandle_Calc, true, INFINITE);第二题多线程实现计算e和兀的乘积湿 C:WI N DQWS

4、system 3 2cmd. exe X done E =2. 71828pi done PI = 3. 14159 屏 pi = 8. 53973 青卷任意键继续. .,-L 丁| J代码#includestdafx.h”#includewindows.h”#definenum_steps 2000000#include usingnamespace std;/计算eDWORDWINAPI ThreadCalc_E(PVOIDpParam)/计算 e 子函数double factorial = 1;int i = 1;double e = 1;for (;i num_steps;i+)fac

5、torial *= i;e += 1.0 / factorial;*(double*)pParam) = e;printf(e done E =%2.5fn”, e);return 0;计算PIDWORDWINAPI ThreadCalc_PI(PVOIDpParam) 计算 pi 子函数int i = 0;double pi = 0;for (;i num_steps * 10;i+)pi += 1.0 / (i*4.0 + 1.0);pi -= 1.0 / (i*4.0 + 3.0);pi = pi*4.0;*(double*)pParam) = pi;printf(pi done PI

6、= %2.5fn”, pi);return 0;int main(intargc, char * argv)/进程的主线程入口点HANDLE hHandle_Calc2;double result_e, result_pi;hHandle_Calc0 = CreateThread(NULL, 0, ThreadCalc_E, (void*)(&result_e), 0, NULL);hHandle_Calc1 = CreateThread(NULL, 0, ThreadCalc_PI, (void*)(&result_pi), 0, NULL);附加线程的创建WaitForMultipleOb

7、jects(2, hHandle_Calc, true, INFINITE);/等待子线程计算结束printf(e* pi = %2.5fn”, result_e*result_pi);/打印出 e*pi 结果return 0;第三题l.Parallel 语句函 C:WI N D OWSsystem 3 Zcm d. &x&n J .b 4【I 5 o 1 n .-Trircadld Trnscadlc TiLlsillIIlJ. Tnreadlc Tnxeadlc. IrireadLc Trixeadlc TnrRAdrndiiuldiiM键 n n 1 n n rrD,!Hff: 1111

8、11111111111波 e e e e -H- e -H- _Hk-IF HHHH H HWH 洋di1:11dii1:11d一I#includestdafx.h”#includewindows.h#includeomp.h”#includeusingnamespace std;void main()#pragma omp parallel num_threads(8)printf(Hello, World!, ThreadId=%dn”, omp_get_thread_num();2.For语句|r 画j C:WI N DOWSsy stem 3 2cmd. exe Xj=0, threa

9、did=0 j=2j thread!d=2 j-3, thrsadid-3 j = thread!d= 1 商捂任意键继续. 凸 Lin i i -.#includestdafx.h”#includewindows.h”#includeomp.h”#include usingnamespace std;void main()int j = 0;#pragma omp parallel#pragma omp forfor (j = 0;j 4;j+) (printf(j=%d,threadid=%dn”, j, omp_get_thread_num();3.Sections和section语句的

10、用法j C:WIINDOWSLsystern3Zcmcl,弥日3 section 1 threadidR section 3 threadid section 4 threadid section 2 threadid 请按任意键继续.,x. . i r rir- I snrsPTiis nmn -prT i nn#includestdafx.h”#includewindows.h”#includeomp.h”#include usingnamespace std;void main(intargc, char * argv)#pragma omp parallel sections#prag

11、ma omp sectionprintf( section 1 threadid = %d n”, omp_get_thread_num();#pragma omp sectionprintf( section 2 threadid = %d n”, omp_get_thread_num();#pragma omp sectionprintf( section 3 threadid = %d n”, omp_get_thread_num();#pragma omp sectionprintf( section 4 threadid = %d n”, omp_get_thread_num();4

12、.Threadprivate语句的用法#includestdafx.h”#includewindows.h#includeomp.h”#include usingnamespace std;int a, b, i, tid;float x;#pragma omp threadprivate(a,x)void main()(关闭动态线程分配omp_set_dynamic(0);printf(1st Parallel Region:n);#pragma omp parallel private (b,tid)tid = omp_get_thread_num();a = tid;b = tid;x

13、= 1.1*tid + 1.0;printf(Threading %d: a,b,x = %d %d %fn”, tid, a, b, x);/end of parallel sectionprintf(*n);printf(-主线程中串行线程n);printf(*n);printf(2nd Parallel Region:n);#pragma omp parallel private (tid)tid = omp_get_thread_num();printf(Threading %d: a,b,x = %d %d %fn”, tid, a, b, x);/end of parallel s

14、ection5.reduction语句的用法ESH C:WIN DOWSVystem32.cmd.&xe XFinal result 1970100.000000 请按任意健继续. . . .#include stdafx.h#includewindows.h”#includeomp.h”#includeusingnamespace std;#includevoid main()int i, n, chunk;float a100, b100, result;/变量的初始化n = 100;chunk = 10;result = 0.0;for (i = 0;i n;i+)ai = i*2.0;

15、bi = i*3.0;#pragma omp parallel fordefault(shared) private(i)schedule(static chunk)reduction(+:result)for (i = 0;i n;i+)result = result + (ai * bi);printf(Final result= %fn”, result);第四题OpenMP实例分析与比较串行#includestdafx.h”#include#definenum_steps 20000000int main(intargc, char *argv口)double start, stop;

16、double e, pi, factorial, product;int i;启动定时器start = clock();/首先运用taylor展开运算eprintf(e started);e = 1;factorial = 1;for (i = 1;i num_steps;i+)factorial *= i;e += 1.0 / factorial;printf(e donen);/然后计算pi运用taylor展开printf(pi startedn);pi = 0;for (i = 1;i num_steps * 10;i+)pi += 1.0/(i*4.0 + 1.0);pi -= 1.0

17、/(i*4.0 + 3.0);pi = pi*4.0;printf(pi donen);product = e*pi;stop = clock();printf(Reached result %f in %.3f secondn”, product, (stop - start)/1000); return 0;并行画 C:WI Nslem 3 J.c md. ex e Xe startedpi startede donebi donereached result 1. 306031 in 3. 766 second 蒲按任意键继续. . . .#includestdafx.h”#includ

18、e#definenum_steps 20000000int main(intargc, char * argv )double start, stop;/任务开始double e, pi, factorial, product;int i;启动定时器start = clock();启动两个进程分别计算e pi#pragma omp parallel sections shared(e,pi)#pragma omp sectionprintf(e startedn);e = 1;factorial = 1;for (i = 1;i num_steps;i+) factorial *= i;e += 1.0 / factorial;printf(e donen);#pragma omp sectionprintf(pi started);pi = 0;for (i = 1;i 也理 SB CTSsSe*用-:WW-Fig.ig:DSrt:GKhp.i*:ftSW::GKhp.lefi D (C F: D: E: iwF荐i&,i7.& i:4iKt|CPU14K 3.31 GHrCPU intel(R) CorefTM) i5-aiDH CPU gp 2.3DGHZ应I I由粗。KbpsI侦同S3: 0 胃吃:a Kbp.14%3.31 GH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论