1.28秒不能夺冠吗?

赖勇浩 2006-12-19 06:23:52
今天看到CSDN的新闻说1.28秒的成绩出来了。貌似挺高了。但这个成绩能不能夺冠?我觉得很难~

今天把自己的程序优化到1.75秒了,运行平台是P4 3.06g,单线程。据双线程可以快60~70%,那应该是可以达到1.2s左右。估计高手可以做到快不少。

我估计最后最强的程序应该是在0.8秒左右。
...全文
1890 70 打赏 收藏 转发到动态 举报
写回复
用AI写文章
70 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzp5115 2007-01-19
  • 打赏
  • 举报
回复
0: Potential: 686445.957
10: Potential: 280129.985
20: Potential: 206437.945
30: Potential: 170828.518
40: Potential: 147831.460
50: Potential: 133650.139
60: Potential: 122234.989
70: Potential: 114473.868
80: Potential: 106560.989
90: Potential: 99199.081
100: Potential: 93318.977
110: Potential: 89056.673
120: Potential: 85229.771
130: Potential: 82200.783
140: Potential: 79693.601
150: Potential: 77797.890
160: Potential: 75235.849
170: Potential: 73208.540
180: Potential: 71404.941
190: Potential: 69980.301
200: Potential: 68477.591
Seconds = 70.375000000
IntelPerLib 2007-01-18
  • 打赏
  • 举报
回复

T2050 0.671和0.328
--------------------------------
在笔记本上的测试结果? 非常好的结果. 有在Core 2 Duo 上的数据么?
赖勇浩 2007-01-18
  • 打赏
  • 举报
回复
楼上的强啊,我的是P4 3.0超到3.5也就是这个时间~~~用汇编了吗?
aero_boy 2007-01-18
  • 打赏
  • 举报
回复
0: Potential: 686445.9565352
10: Potential: 280129.9852357
20: Potential: 206437.9449030
30: Potential: 170828.5177899
40: Potential: 147831.4599590
50: Potential: 133650.1392165
60: Potential: 122234.9888390
70: Potential: 114473.8684963
80: Potential: 106560.9887754
90: Potential: 99199.0808710
100: Potential: 93318.9772015
110: Potential: 89056.6733336
120: Potential: 85229.7706144
130: Potential: 82200.7831734
140: Potential: 79693.6008187
150: Potential: 77797.8899493
160: Potential: 75235.8488249
170: Potential: 73208.5403272
180: Potential: 71404.9412059
190: Potential: 69980.3005699
200: Potential: 68477.5907029
Seconds = 1.016000000
--------------------------------
Celeron 2.8G(超2.94G) 256M 现在没有多核cpu只能这样了,要是想按大家的说明并行 能提高70-80%的话,呵呵.
IntelPerLib 2007-01-18
  • 打赏
  • 举报
回复
能不能__mm_sqrt_ps得到到一个粗略的值, 再用这个值迭代一下, 得到更为精确的结果?
-----------------------------------
是我搞错了, 好像不行, __mm_sqrt_ps输入和输出都是float 型的.
IntelPerLib 2007-01-18
  • 打赏
  • 举报
回复
.....0.328用了__mm_sqrt_ps无法保证精度
----------
能不能__mm_sqrt_ps得到到一个粗略的值, 再用这个值迭代一下, 得到更为精确的结果?
huanyun 2007-01-18
  • 打赏
  • 举报
回复
大家误会了 不是单线程和多线程成绩
是双精度和单精度 我的速度不及大家啊
huanyun 2007-01-18
  • 打赏
  • 举报
回复
是啊 只是0.671保证了精度 0.328用了__mm_sqrt_ps无法保证精度
赖勇浩 2007-01-17
  • 打赏
  • 举报
回复
难怪我的程序在你那里执行会比较慢~~~

ICC的这种做法是天下人都知道的,不必惊讶。
housisong 2007-01-17
  • 打赏
  • 举报
回复
更正一下:)
...尝试修改了几个指令码(和huanyun(无妻徒刑)的程序的那个可疑指令码序列相同) ,然后速度一下子提高了13% ...
housisong 2007-01-17
  • 打赏
  • 举报
回复
今天我又遇到了一个程序在AMD CPU上运行的问题(一个参赛者让我帮忙测试的程序);我想应该是ICC编译的;程序能够运行,但感觉很慢,就尝试修改了几个指令码(和lanphaday(恋花蝶)的程序的那个可疑指令码序列相同) ,然后速度一下子提高了13%,这说明编译器内置了一个逻辑,在不是Intel的CPU上运行时,执行没有经过优化的代码分支;
修改过后的程序在我的电脑上CPU占用率只有50%,不能并行;所以我又找到另一段可疑指令码;修改后速度一下子又提高了91%!!

侯捷说“源代码面前没有秘密”;同样可执行程序(或字节码)面前也同样没有秘密,只是这个秘密需要耗费更多的努力才能得到;ICC编译器的这种做法早就有朋友向我提到过了,这也是他们公司不使用ICC的原因(只能流口水:),那时我还表示惊讶和不相信;一个编译器没有必要这样做;
housisong 2007-01-17
  • 打赏
  • 举报
回复
to:huanyun(无妻徒刑)
对于你的程序在我的AMD CPU上执行的问题,前面已经叙述得比较清楚了;就是程序会先判断CPU是否是intel的CPU而执行了不同的程序分支;
我让程序以为运行在Intel的CPU上,从而避免了慢速和不能并行的问题;

dwbclz 2007-01-17
  • 打赏
  • 举报
回复
请问huanyun(无妻徒刑):
两个数字分别是啥意思?多线程单线程?还是
双精度单精度?
T2050的频率是1.6G对吧?据传性能很高的……

//////////////////////////////////////
谢谢 housisong(HouSisong)
看来双核 AMD64x2 3600 比 T2050强啊
T2050 0.671和0.328
AMD64x2 3600 0.546和0.296
huanyun 2007-01-17
  • 打赏
  • 举报
回复
to housisong(HouSisong)
是不是改调了我OpenMP的代码 导致了单线程执行呢?
housisong 2007-01-16
  • 打赏
  • 举报
回复
intel的编译器只能用在intel的CPU上,这也就罢了;
但是优化编译出来的程序也只能运行在Intel的CPU上就有点不合理了(或者不给优化);
据我所了解的情况,很多人都认为intel的编译器优化能力强,但却不购买使用它,就是因为这一点;对于一个编译器来说,这个限制是不能被接受的;
huanyun(无妻徒刑)的程序就拒绝在我的AMD CPU上运行;
housisong 2007-01-16
  • 打赏
  • 举报
回复
to: huanyun(无妻徒刑)
你给我的程序运行不了,缺少动态链接库: libguide40.dll
huanyun 2007-01-16
  • 打赏
  • 举报
回复
我使用了Core 2的优化选项 :)
茶禅如水 2007-01-16
  • 打赏
  • 举报
回复
icc 编译的时候把参数 -QxW 等 改成 -QaxW (CPU兼容模式优化)系列应该就都可以运行了
huanyun 2007-01-16
  • 打赏
  • 举报
回复
谢谢 housisong(HouSisong)
看来双核 AMD64x2 3600 比 T2050强啊
T2050 0.671和0.328
AMD64x2 3600 0.546和0.296


非常感谢! 看来我跟大家的差距不小啊! 继续努力中
housisong 2007-01-16
  • 打赏
  • 举报
回复
to: lanphaday(恋花蝶) IntelPerLib()
他的程序很可能是选择了P4级以上CPU的优化;
我调试了他的程序,确实是编译器生成了拒绝执行的指令(指令码“47 65 5e 75 75 1b”等三处),我用UltraEdit改了一下就可以正常运行了;


======================================
lanphaday(恋花蝶) :"不,我用ICC编译的程序在你那里可以运行啊,估计是 huanyun(无妻徒刑)用了什么比较特别的库吧。"
IntelPerLib() " 应该可以的吧. 查查看有没有其他错误. Intel Compiler 支持的硬件:
http://www3.intel.com/cd/software/products/asmo-na/eng/compilers/279578.htm#hosthw
.....
Processor with Intel® EM64T, NA
AMD Athlon* or Opteron* processor "
.....
加载更多回复(50)

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧