lab4性能优化实验分析.ppt

lab4性能优化实验分析.ppt

ID:51057412

大小:311.00 KB

页数:18页

时间:2020-03-18

lab4性能优化实验分析.ppt_第1页
lab4性能优化实验分析.ppt_第2页
lab4性能优化实验分析.ppt_第3页
lab4性能优化实验分析.ppt_第4页
lab4性能优化实验分析.ppt_第5页
资源描述:

《lab4性能优化实验分析.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、性能优化实验分析施爱春2009/12/7代码优化“不成熟的优化乃万恶之源”---TonyHoare前期着重精良的算法设计,后期找出性能瓶颈,注重传统的优化措施以底层语言思考,用高级语言编程手工优化的若干级别最抽象层:选择合适的算法优化程序(与编译器和语言均无关)低一层:基于所用的高级语言优化代码(不依赖语言的特定实现)再低一层:考虑代码的组织,优化针对特定的编译器和函数库(VC,GCC,ICC)最低一层:考虑编译器生成的机器码,调整指令序列常见代码优化方法减少函数调用提前计算循环展开并行运算提高cach

2、e利用率ImageRotatenaive_rotate缺点:程序局部性不好,循环次数过多FirstTrying:分块尝试分成4*4的小块,提高空间局部性测试CPE改进为1.8SecondTrying:循环展开采用32*32分块,4*4路循环展开,注意循环内部语句执行顺序测试CPE改进2.7ThirdTrying?假设分块为4*4的矩阵,采用不同的巡回路线srcdestLastTrying考虑矩形分块32*1,32路循环展开,并使dest地址连续,以减少存储器写次数测得CPE改进为3.5ImageSmoo

3、thnaive_smoothFirstTrying:减少函数调用函数avg,accumulate_sum在smooth内实现函数assign_sum_to_pixel,min,max用宏定义实现得到的CPE改进为1.6SecondTrying:使用局部变量让所有的函数调用均集成在smooth内,然后确定求平均值时涉及到的元素,它们的位置用4个局部变量记录下来,求和的像素个数用另外一个局部变量确定,最后做加法和除法得到的CPE改进为5.0SecondTrying:使用局部变量ThirdTrying:使用完

4、全循环展开分析不同的avg情况共有9种,4个角点位置,4个边带位置,1个中央块,因此只需对这9种情况分别讨论比如左上角点ThirdTrying:使用完全循环展开中央位置最终测得CPE改进为8.6LastTrying?减少冗余计算预先确定操作数的地址,使用指针变量s0=src+rows1=src+row-dims2=src+row+dim变常数除法为乘法/4等效成>>2/6等效*0x2AAB>>16/9等效成*0x1C72>>16代码优化推荐书籍WriteGreatCodeVolume2:Thinking

5、Low-level,WritingHigh-level---RandallHydeSoftwareOptimizationforHigh-PerformanceComputing:CreatingFasterApplications---K.P.WadleighandI.L.Crawford.Thanks!

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

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

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