欢迎来到天天文库
浏览记录
ID:19762995
大小:948.50 KB
页数:24页
时间:2018-10-05
《vtune的使用的心得》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、多核程序设计实践掌握多核程序设计工具软件的使用;进行多核程序设计实践;尝试设计多核程序设计实验;总结:我毕设的主要目的就是设计一组学生实验,让学生通过实验来比较单核和多核处理器,了解多核处理器在性能方面的优越性。实验平台:Inter多核处理器实验软件:vs2005vtune实验目的:通过一组实验让学生了解单核与多核性能的差异实验步骤:通过vs2005编写一个能够改写成并行程序的程序,该程序要有测试程序运行时间的函数,将该程序用OpenMP进行改写,并行化,用vtune软件进行分析,通过性能分析函数进行计算,并与程序运行的结果相互比较。voidtest(){int
2、a=0;clock_tt1=clock();//初始时间for(inti=0;i<100000000;i++){a=i+1;}clock_tt2=clock();//结束时间printf(“testtime=%d”,t2-t1);//运行时间}intmain(intargc,char*argv[]){clock_tt1=clock();//初始时间//#pragmaompparallelfor//for(intj=0;j<2;j++){test();}clock_tt2=clock();//结束时间printf("totaltime=%d",t2-t1)
3、;test();//串行时间return0;}vtuneperformanceanalyzer性能分析三种性能监控方式的比较sampling采样收集器基于两种形式TBS基于一定的时间间隔进行采样EBS基于时间的发生进行采样sampling基于时间采样的又可以分为基于哪种事件,一般我们用于试验的是时钟周期,指令周期,浮点数操作,cache命中率等等Events=sample*sampleaftervaluesamplingsampling采样收集器收集运行于系统的所有应用软件的数据,从进程到应用程序的线程,到应用程序每个模块,再到热点,结合源代码,可以分析系统的瓶
4、颈,修改源代码,实现最优化的设置。samplingprocess进程的图示显示了cpu将大量的时间用在了系统的哪个进程上,通过图示我们发现柱状比较长的花费的cpu的时间是最多的,也就是这个地方是可能存在瓶颈的。thread该图是线程柱状图,通过分析该线程,我们可以看到哪个线程占用了cpu大量的时间,结合源代码,我们能够进行负载均衡。module通过模块图,我们可以定位该应用程序的热点,结合源代码,我们可以分析出程序的瓶颈,即可以并行化实现的地方。Sourceview这是通过模块定位的源代码CounterMonitor通过该图我们主要查看来自系统级的瓶颈,就是影响
5、我们程序性能的外部硬件环境通过检测器图标下面的数据我们可以查看来自cpu,硬盘,网络,还有内存方面的一些瓶颈。Callgraph提供了一个虚拟的程序的执行的图,红线代表关键路径,不同的颜色代表不同的权值,我们主要根据关键路径来确定运行的最大时间,依靠关键路径,定位源代码,查找瓶颈。ThreadprofilerTimeline主要是查看多线程的运行,橘红色的线代表了关键路径,绿色的线代表并行运行区,所有的图案都在右方的运行图中有所标示。通过上面的时间线,我们来计算加速比加速比=串行时间/并行时间Threadprofiler理想的加速比=1/Ss表示串行代码所占的比
6、例加速比小于理想加速比左边这个图式timeline的更加抽象的显示加速比通过实验得到的加速比与程序代码运行的加速比比较。同时通过实验的加速比与理想的加速比进行比较。调整我们要求的尽量能接近理想加速比,加速比与不仅与系统,也与算法,同时与我们任务的分解都有关,左图给出了加速比调整的一些参数,根据这些参数我们利用数据收集器结合源代码进行调整结束谢谢
此文档下载收益归作者所有