多核软件设计实验报告.doc

多核软件设计实验报告.doc

ID:50789952

大小:249.81 KB

页数:12页

时间:2020-03-08

多核软件设计实验报告.doc_第1页
多核软件设计实验报告.doc_第2页
多核软件设计实验报告.doc_第3页
多核软件设计实验报告.doc_第4页
多核软件设计实验报告.doc_第5页
资源描述:

《多核软件设计实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《多核软件设计》实验手册《多核软件设计》实验手册(2015年4月版)郑重声明:1、实验手册中的所有实验均有本人独立编码、调试和测试。2、实验手册中给出的实验数据和结果完全由本人所完成的程序给出。3、本人了解:不按照前两条要求所完成的实验报告已经构成了抄袭或造假行为,本人将承担相应的不良后果。姓名:(签名)学号:提交日期:总成绩:本课程以设计竞赛方式评分,执行速度排名与分数的比例如下表。执行速度排名分数前15%100%前40~15%80%前85~40%70%最后15%60%题号总分程序执行时间(s)排名分数比例得分测试员签名120230

2、330报告20总分第12页《多核软件设计》实验手册1.Eratosthenes筛法(20分)Eratosthenes筛法(Eratosthenes,约公元前274~194年)是一种求素数的古老方法,虽然没有实际的使用价值,但是其筛法的思想和方法却是后续数域筛法的基础。[算法1.1]Eratosthenes筛法输入,…,:最小的n个素数输出:到之间的所有素数内部变量:charA[:];1.[初始化]A的所有元素设置为02.i从1到n循环2.12.2循环2.2.1如果,则转至2,否则A[j]=1,j+=2.3输出所有满足A[j]=0的j下

3、述100以内的所有素数可以作为起始的素数集合。2357111317192329313741434753596167717379838997本题使用的软硬件平台CPUCache操作系统编译器型号核数主频L1L2L3版本优化参数Intel(R)Xeon(R)CPUE5-2620121.2G64K256K15MRedHatEnterpriseLinuxServerrelease6.4icpc14.0.2O21.设计一个串行程序226以内的所有素数,其中在[225,226]以内的素数有1894120个,这个串行程序的执行时间是0.818秒。2

4、.【区间大小的优化】原始算法中筛的区间大小为[:],实际上当比较大时可能会超过内存上界,因此筛的区间往往取一个固定值B第12页《多核软件设计》实验手册。由于筛的过程中要频繁访问这个区间,因此B的大小往往与Cache容量有关,请测试B不同大小时的性能差异。表1-1不同筛区间大小对性能的影响B程序执行时间(秒)4K0.00016K0.00064K0.000256K0.0011M0.0042M0.013你的测试结果说明B为4K时程序性能最优。你所使用的CPU的一级Cache和二级Cache容量分别是64K和256K。3.【对固定区间的算法优

5、化】在新算法中筛的区间大小是[:],实际上对于素数p,如果,则p在此区间中必然没有整倍数,因此可以减少算法1.1中的素数数量。使用此方法优化后,请重新测试不同区间大小下的算法性能。表1-2修改参与筛的素数集合后不同筛区间大小对性能的影响B程序执行时间(秒)4K0.00016K0.00064K0.000256K0.0011M0.0042M0.013你的测试结果说明B为4K时程序性能最优。如果与测试2有差异,请说明原因。答:没有什么区别。4.【并行化】如果有T个线程可以同时执行,请考虑以下两种并行化策略:策略1:每个线程分别共享一个区间,

6、分别处理,…,中的一个子集,然后再将各个线程得到的筛结果合并;策略2:将筛区间分成T个不同的部分,每个线程处理一个部分;你认为策略2可能会更好,理由是适合我的代码结构。按照你选择的策略设计并实现一个并行化的筛法程序,调整参与计算线程的数量T,比较执行时间:表1-3不同线程数的程序执行时间线程数T程序执行时间(秒)115.47829.23346.18467.29688.564第12页《多核软件设计》实验手册你的测试结果说明T为4时性能最好,此时的筛区间大小是[2,230]。你使用的处理器核数是12。5.【总结】请根据上述程序生成232以

7、内的素数,其中[231,232]以内的素数有98182656个,记录各个版本的程序运行时间,填写下表。表1-4程序执行时间对比版本产生226以内素数需要的时间(秒)产生232以内素数需要的时间(秒)加速比加速比最优配置原始程序0.81867.22111固定区间大小0.40235.3322.031.90针对固定区间的优化0.18915.2134.324.41并行化0.0665.87512.3911.442.矩阵乘法(30分)在Linux/Windows平台上实现单精度浮点的矩阵乘法:本题使用的软硬件平台CPUCache操作系统编译器型号

8、核数主频L1L2L3版本优化参数Intel(R)Xeon(R)CPUE5-2620121.2G64K256K15MRedHatEnterpriseLinuxServerrelease6.4icpc14.0.2O21.【基

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

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

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