使用的技术.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用的技术

多核程序设计实践 掌握多核程序设计工具软件的使用; 进行多核程序设计实践; 尝试设计多核程序设计实验; 总结:我毕设的主要目的就是设计一组学生实 验,让学生通过实验来比较单核和多核处理器,了解多核处理器在性能方面的优越性。 实验平台:Inter多核处理器 实验软件:vs2005 vtune 实验目的:通过一组实验让学生了解单核与多核性能的差异 实验步骤:通过vs2005编写一个能够改写成并行程序的程序,该程序要有测试程序运行时间的函数,将该程序用OpenMP进行改写,并行化,用vtune软件进行分析,通过性能分析函数进行计算,并与程序运行的结果相互比较。 void test() { int a=0; clock_t t1=clock(); //初始时间 for(int i=0;i100000000;i++) { a=i+1; } clock_t t2=clock(); //结束时间 printf(“testtime=%d\n”,t2-t1); //运行时间 } int main(int argc,char *argv[]) { clock_t t1=clock(); //初始时间 // #pragma omp parallel for // for(int j=0;j2;j++) { test(); } clock_t t2=clock(); //结束时间 printf(total time=%d\n,t2-t1); test(); //串行时间 return 0; } vtune performance analyzer 性能分析 三种性能监控方式的比较 sampling 采样收集器基于两种形式 TBS 基于一定的时间间隔进行采样 EBS基于时间的发生进行采样 sampling 基于时间采样的又可以分为基于哪种事件,一般我们用于试验的是时钟周期,指令周期,浮点数操作,cache命中率等等 Events=sample*sample after value sampling sampling 采样收集器收集运行于系统的所有应用软件的数据,从进程到应用程序的线程,到应用程序每个模块,再到热点,结合源代码,可以分析系统的瓶颈,修改源代码,实现最优化的设置。 sampling process 进程的图示显示了cpu将大量的时间用在了系统的哪个进程上,通过图示我们发现柱状比较长的花费的cpu的时间是最多的,也就是这个地方是可能存在瓶颈的。 thread 该图是线程柱状图,通过分析该线程,我们可以看到哪个线程占用了cpu大量的时间,结合源代码,我们能够进行负载均衡。 module 通过模块图,我们可以定位该应用程序的热点,结合源代码,我们可以分析出程序的瓶颈,即可以并行化实现的地方。 Source view 这是通过模块定位的源代码 Counter Monitor 通过该图我们主要查看来自系统级的瓶颈,就是影响我们程序性能的外部硬件环境 通过检测器图标下面的数据我们可以查看来自cpu,硬盘,网络,还有内存方面的一些瓶颈。 Call graph 提供了一个虚拟的程序的执行的图,红线代表关键路径 ,不同的颜色代表不同的权值,我们主要根据关键路径来确定运行的最大时间,依靠关键路径,定位源代码,查找瓶颈。 Thread profiler Timeline主要是查看多线程的运行,橘红色的线代表了关键路径,绿色的线代表并行运行区,所有的图案都在右方的运行图中有所标示。通过上面的时间线,我们来计算加速比 加速比=串行时间/并行时间 Thread profiler 理想的加速比=1/S s表示串行代码所占的比例 加速比小于理想加速比 左边这个图式timeline的更加抽象的显示 加速比 通过实验得到的加速比与程序代码运行的加速比比较。 同时通过实验的加速比与理想的加速比进行比较。 调整 我们要求的尽量能接近理想加速比,加速比与不仅与系统,也与算法,同时与我们任务的分解都有关,左图给出了加速比调整的一些参数,根据这些参数我们利用数据收集器结合源代码进行调整

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档