如何使用gprof对软件做profiling (一).doc
《如何使用gprof对软件做profiling (一).doc》由会员分享,可在线阅读,更多相关《如何使用gprof对软件做profiling (一).doc(4页珍藏版)》请在三一文库上搜索。
1、如何使用gprof对软件做profiling (一)一Xilinx Zynq-7000带来新的设计思路在以前,我们的单板上往往有CPU和多片FPGA,由CPU完成系统的配置和管理,FPGA完成特定算法的硬件加速,受限于CPU和FPGA之间的通信带宽和延迟,CPU和FPGA之间的接口大多是用于配置和管理,无法传输大量的数据。Xilinx推出的Zynq-7000系列芯片很好的解决了这一问题。它内含硬化好的CPU核和常见的外设(DRAM控制器,千兆以太网,USB 2.0 OTG,SD card控制器,FLASH控制器,UART,CAN,SPI,I2C等等 ),这一部分被称为Processing Sy
2、stem(简称PS),它可以完全独立于FPGA运行;Zynq-7000芯片内部还有容量不等的FPGA资源,被称为Programmable Logic(简称PL),可以支持不同复杂度的逻辑设计。最重要的是,在PS和PL之间,有超过3000根的互联信号,包括9路AXI通道,可以提供大约100Gb/s的通信带宽,同时在PS和PL之间还有DMA,Interrupt和EMIO等多种资源。这就使得数据可以在PS和PL之间灵活高效的迁移,从系统设计的角度上来讲,任务可以在软件和硬件之间灵活的分割,实现高度优化的系统设计。这也给嵌入式系统的开发方法提供了新的思路和流程:首先利用软件可以快速灵活编程的特点,快速
3、的用软件实现系统的原型;然后通过对软件进行profiling找出对系统性能影响最大的代码,将这部分代码用FPGA来硬件加速,实现高度优化的嵌入式系统;Xilinx还提供了HLS(High Level Synthesis)工具可以方便快速的把软件代码转化成RTL代码,帮助开发者快速的实现基于FPGA的硬件加速器。在这一流程中,重要的一环是如何找出软件中对性能影响最大的那部分代码。对于简单的应用,我们可以很容易的判断出来,例如对频谱分析来说,FFT算法就是最至关重要的需要优化的算法。但是在很多时候,软件非常复杂,有很多的复杂的函数调用,很难通过静态的观察和分析找出对性能影响最大的那部分代码,这时就
4、需要通过profiling工具,在软件动态运行中收集数据,通过统计的方法找出核心代码了。二Profiling的对象在Linux下有很多profiling工具,各自有自己的优势和劣势。在这里我们重点研究一下如何使用gprof对软件做profiling。很多介绍profiling工具的文章都是开发者自己写一个简单源文件,里面有简单的函数调用。为了更好的展示profiling的效果,这里我们没有采用这种方法,而是采用了一个相对比较复杂的软件包libjpeg。libjpeg 是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维
5、护。编译完成后除了相应的.a和.so库文件之外,还会生成以下工具程序:cjpeg和djpeg:用于JPEG的压缩和解压缩,可以和一些其他格式的图形文件进行转换。rdjpgcom和wrjpgcom:用于在JFIF文件中插入和提取文字信息。jpegtran:一个用于在不同的JPEG格式之间进行无损转换的工具。在这里cjpeg和djpeg就是很不错的profiling对象,有一定的复杂度,但又没有复杂到令人生畏。JPEG图像文件可以在互联网上灵活选取,基本原则是足够大,这样可以有比较长的运行时间来收集profiling数据,同时有足够的细节可以让软件充分的运行起来。网站 上有很多大的图片,笔者选择的
6、是一个2880x1800的JPEG文件。Libjpeg可以在 上找到。这里使用的版本是13-Jan-2013发布的release 9。下载后的源文件是jpegsrc.v9.tar.gz三. GNU profiler(gprof)简介GNU profiler(gprof)是GNU BinuTIls( https:/sourceware/binuTIls/ )的一个组成部分,详细的文档可以在 https:/sourceware/binuTIls/docs/gprof/ 找到,默认情况下Linux系统当中都带有这个工具,不过如果打算在嵌入式开发板上用还是需要对GNU BinuTIls做交叉编译的。G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何使用gprof对软件做profiling 一 如何 使用 gprof 软件 profiling
链接地址:https://www.31doc.com/p-3421446.html