赖勇浩(恋花蝶)的博客

坐观天下风云涌,笑拥美人言语懒。

赖勇浩ID:lanphaday
295995次访问,排名174好友111人,关注者120
网络游戏程序员,略懂python、C++;不太懂网络编程、数据库编程;不懂C语言、3D。
lanphaday的文章
原创 56 篇
翻译 14 篇
转载 12 篇
评论 549 篇
赖勇浩的公告
最近评论
crow:num_something还是something_num是我一直头疼的问题
crow:num_something还是something_num是我一直头疼的问题
Sofoot:ppt先转成pdf再转成图片可能会比较方便。
hereiam:不知道博主觉得《Python core》如何?
hereiam:现在正在看DIP,确实存在博主指出的问题,感觉有点乱,很难建立体系,谢谢分享经验。
文章分类
收藏
    相册
    编程语言
    TIOBE 流行度
    性能排名
    我创建的开源项目
    VisualPyTune
    我的其它博客
    程序员的小厨房
    过去的博客
    非技术博客
    友情链接
    CP(图形学)
    DarkSpy
    一刀
    丫头
    沈公,仙人也!
    超哥之奋起版
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 公开“英特尔多核平台编程优化大赛”优化报告及源代码收藏

    新一篇: [Python]profile优化实践(基于A*算法) | 旧一篇: [炒冷饭]人机对弈编程概述

    公开“英特尔多核平台编程优化大赛”优化报告及源代码

    本系列文章欢迎转载、打印、分发等,但不可用于商业用途,任何时候必须保留全文完整,并声明转载自恋花蝶的博客(http://blog.csdn.net/lanphaday),谢谢。 

           这次Intel的优化比赛时间比较长,所以我也能够在周未和晚上的业余时间里参加了这个比赛,感觉学到很多东西,所以就在CSDN论坛上号召大家公开各自己的优化报告和源代码,得到了大家的响应,这让我由衷地高兴。参加比赛的很多高手,达到了匪夷所思的速度,这些公开的优化报告和源代码,必定能够增进大家的知识,我很乐意参与比赛,更乐意公开自己的优化报告和源代码。

            在比赛中,我通过以面若干种优化方法优化后,我还尝试了手写SSE2进行汇编优化,但因为并不十熟悉汇编,所以没有能够成功。为了方便查看,制作了下面的数据比对表:
    优化方法                                     运行时间                                        加速比(相对于上一种优化) 
    最初未优化版本                              4.55s                                               -- 
    用乘法替换pow函数                      3.28                                                1.38 
    启用SSE2                                       2.84                                                1.15 
    使用ICC                                          1.99                                                1.42 
    使用MKL vdInvSqrt函数                 1.21                                               1.64 
    使用OpenMP,static调度             0.95                                               1.27 
    使用OpenMP,guided调度,倒序循环 0.64                                     1.48 
    使用/fp:fast参数,针对CPU优化,利用数学公式减少常数运算 0.57 1.12 
    提高cache命中率                           0.51                                                  1.11
     
    参照上表,我们可以看出用乘法替换pow函数、使用ICC、使用MKL和使用guided调用方法和倒序循环取得了极佳的优化效果,这些对以我们以后在其它工作中进行优化提供了高阶的指导方针。

    因为使用WPS进行排版的文档粘贴到CSDNblog时效果不好,所以变成上图那样了,呵呵,大家可以下载完整版本的文档跟源码来查看。下面是文档的目录:

    程序编译和运行的方法                                                                                                  1
    1、编辑环境:                                                                                                                   1
    2、编译步骤:                                                                                                                   1
    3、运行方法:                                                                                                                   3
    优化工作的主要步骤与优化方法的说明                                                                    3
    1、Vtune分析热点,替换pow函数为两数相乘的宏,减少变量使用                         4
    2、启用SSE2优化                                                                                                            4
    3、使用ICC                                                                                                                       5
    4、使用MKL vdInvSqrt()函数                                                                                          5
    5、并行,OpenMP的ShowTime                                                                                   5
    6、新并行!TProfiler临危救主!                                                                                   6
    7、零碎而有效的几点优化方式                                                                                      7
    8、Vtune,王者归来,提高cache命中率                                                                    7
    数据比对                                                                                                                            7
    参赛感受                                                                                                                            8

     大家可以从以下地址下载优化报告和源代码压缩包:

    http://www.cppblog.com/Files/laiyonghao/LaiYonghao_potential.rar

    发表于 @ 2007年01月20日 10:50:00|评论(loading...)|编辑

    新一篇: [Python]profile优化实践(基于A*算法) | 旧一篇: [炒冷饭]人机对弈编程概述

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 赖勇浩