社区
英特尔边缘计算技术
帖子详情
英特尔多核编程大赛优化报告
dwbclz
2007-01-21 04:01:24
本来昨天就应该发上来的,不过陪女朋友逛街去了,延迟一天。
链接如下:
http://blog.csdn.net/dwbclz/archive/2007/01/21/1489261.aspx
...全文
2079
46
打赏
收藏
英特尔多核编程大赛优化报告
本来昨天就应该发上来的,不过陪女朋友逛街去了,延迟一天。 链接如下: http://blog.csdn.net/dwbclz/archive/2007/01/21/1489261.aspx
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
46 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wei45782
2008-01-30
打赏
举报
回复
niu~!
xymao123
2008-01-30
打赏
举报
回复
mark
wangweixing2000
2008-01-27
打赏
举报
回复
都是牛人!:)
xoyojank
2008-01-27
打赏
举报
回复
过来凑个热闹
housisong
2007-08-15
打赏
举报
回复
今天换了台新电脑,有机会在酷睿的电脑上测试了一下我的代码和搂主的代码的成绩
(用的高精度计时器QueryPerformanceCounter)
酷睿2 4400 2.0G : 搂主的程序 0.2628s 我的程序 0.2644s
以高优先级多次测量,各有胜负,一般差距很小,但搂主的还是快些
在我的另一台AMDx2 3600+上搂主的比我的代码快20%以上!
前程序员
2007-06-05
打赏
举报
回复
今天看见强人了,作个标记学习
cbaihiqpl
2007-02-14
打赏
举报
回复
呵呵
i_am_xiaoga
2007-02-06
打赏
举报
回复
to dwbclz
hehe,刚注册就碰到科大的牛师兄了,拜一下 :)
dwbclz
2007-01-25
打赏
举报
回复
VS2005是没有问题的。
请问,什么硬件配置?
CPU必须要支持SSE3。
icansaymyabc
2007-01-25
打赏
举报
回复
icc 过期了。vs2005编译的结果在我的机上运行直接出错。是我的CPU太差还是VC2005太糟?
celineshi
2007-01-23
打赏
举报
回复
感谢各位对大赛的支持,之后我们还会邀请大家进一步交流相关的技术
dwbclz
2007-01-22
打赏
举报
回复
呵呵,还有人记得侠客行,感动ing。那都是上学时候
的事情了。
现在俺在做网游,在“像素软件”,就是做刀剑封魔录
的那个公司。谁在北京谋职,欢迎加入俺们公司!
housisong
2007-01-22
打赏
举报
回复
细看了dwbclz(dw编程浪子)"的代码: 8重展开,然后前4组和后4组首尾相连,将数据密集和运算密集合理搭配,减少依赖; 这才是楼主代码快的最重要的原因;
总感觉"dwbclz(dw编程浪子)"名字很熟悉,千年上的《侠客行》是否是楼主的作品:)
那时我还在学着写程序,佩服不已啊:D
zjmzs
2007-01-22
打赏
举报
回复
dwbclz (dw编程浪子)强啊,瞻仰一下。。。:)
huanyun
2007-01-22
打赏
举报
回复
另外
for(j = i+4; j < NPARTS; j+=2)
{
t00 = _mm_sub_pd(a00, _mm_load_pd(r[j]));
t10 = _mm_sub_pd(a10, _mm_load_pd(r[j]));
t01 = _mm_sub_pd(a01, _mm_load_pd(r[j]+2));
t11 = _mm_sub_pd(a11, _mm_load_pd(r[j]+2));
t02 = _mm_sub_pd(a02, _mm_load_pd(r[j]+4));
t12 = _mm_sub_pd(a12, _mm_load_pd(r[j]+4));
dArray[j] = _mm_add_pd(_mm_add_pd(_mm_mul_pd(t00, t00), _mm_mul_pd(t01, t01)), _mm_mul_pd(t02, t02));
dArray[j+1] = _mm_add_pd(_mm_add_pd(_mm_mul_pd(t10, t10), _mm_mul_pd(t11, t11)), _mm_mul_pd(t12, t12));
}
for(j = i+4; j < NPARTS; j+=2)
{
ft1 = _mm_movelh_ps(_mm_cvtpd_ps(dArray[j]), _mm_cvtpd_ps(dArray[j+1]));
ft0 = _mm_rsqrt_ps(ft1);
ft0 = _mm_mul_ps(_mm_mul_ps(g_fhalf, ft0), _mm_sub_ps(g_f3, _mm_mul_ps(ft1, _mm_mul_ps(ft0, ft0))));
t01 = _mm_cvtps_pd(ft0);
t02 = _mm_cvtps_pd(_mm_movehl_ps(ft0, ft0));
t01 = _mm_mul_pd(_mm_mul_pd(g_dhalf, t01), _mm_sub_pd(g_d3, _mm_mul_pd(dArray[j], _mm_mul_pd(t01, t01))));
t02 = _mm_mul_pd(_mm_mul_pd(g_dhalf, t02), _mm_sub_pd(g_d3, _mm_mul_pd(dArray[j+1], _mm_mul_pd(t02, t02))));
dret = _mm_add_pd(dret, _mm_add_pd(t01, t02));
}
去掉dArray这个缓存和第二个循环
也会慢 应该也是寄存器使用的问题
huanyun
2007-01-22
打赏
举报
回复
我的CodeSpeed是使用的8重展开 但是好像更慢 主要是寄存器不够用
赖勇浩
2007-01-22
打赏
举报
回复
我也是做游戏的。看来做游戏的比较多性能狂人。
housisong
2007-01-22
打赏
举报
回复
我也是写游戏的:)
在我的电脑上(AMD64x2 3600+)
dwbclz(dw编程浪子)"的代码: 0.375; 我的代码 0.453 ,他的快出20%
所以也测试了一下8重展开的效果:
(对我的高级语言实现版本进行改写)
主要操作步骤:复制4重展开代码,变成2段,
对后半段简单修改数据访问偏移量,变量名进行名称修改避免冲突;
速度几乎不变:(
然后把后半段的代码拖拽到我任为比较合理的地方(凭感觉:) 把两段代码混合;
速度一下子就提高12%-15%左右:)
对应的汇编版和代码细调就不做了:D
huanyun
2007-01-22
打赏
举报
回复
我建的 通过您的申请了 :)
赖勇浩
2007-01-22
打赏
举报
回复
看来游戏公司的人比例不小啊,以后去北京还请浪子大侠多多关注~
昨天谁建QQ群的,通过我的申请没有?
加载更多回复(26)
参加
英特尔
多核
平台
编程
优化
大赛
的源码和
优化
文档
在T2050笔记本上测试结果双精度0.671秒 单精度:0.312秒 希望能看到其他高手的代码 学习学习! :) 更希望 高手指点更多的
优化
点.
优化
建议.
“
英特尔
杯”全国计算机
多核
程序设计
大赛
源码
“
英特尔
杯”全国计算机
多核
程序设计
大赛
源码 供大家讨论.
intel2007复赛试题-第一题
复赛试题-第一题,哟必要吗,太简单了
公开“
英特尔
多核
平台
编程
优化
大赛
”
优化
报告
及源代码
公开“
英特尔
多核
平台
编程
优化
大赛
”
优化
报告
及源代码本系列文章欢迎转载、打印、分发等,但不可用于商业用途,任何时候必须保留全文完整,并声明转载自恋花蝶的博客(http://blog.csdn.net/lanphaday),谢谢。 这次Intel的
优化
比赛时间比较长,所以我也能够在周未和晚上的业余时间里参加了这个比赛,感觉学到很多东西,所以就在CSDN论坛上号召大家公开各自己的
优化
报
英特尔
多核
平台
编程
优化
大赛
报告
该文档从word中直接粘贴,少了图片。 在写该文档时比较匆忙,其中有很多打错的字,还请见凉。 如果发现该文档有相关内容有错误,还望指出。
英特尔
多核
平台
编程
优化
大赛
报告
代码
优化
前所需时间:4.765秒代码
优化
后所需时间:0.25秒(保留小数点后7位精度)
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章