|
注意:本文内容已失效,请勿参考!
感谢Akos Fekete为我们带来了Einstein@Home的优化程序!
===============================================================
使用方法
注意:本文所说的优化只能用于Einstein@Home在S4阶段的Windows平台的计算程序(即albert 4.37)。
先退出BOINC(请确认进程列表中没有boinc.exe),然后用本文附件中的优化程序替换掉Einstein@home项目目录里面的同名文件(缺省路径为:C:\Program Files\BOINC\projects\einstein.phys.uwm.edu\),之前可备份一下原始文件。
另外,可同时对BOINC进行优化,以提高任务包的申请积分,下载页面。
点击Download后即可看到下载地址,下载Windows版本,然后先退出BOINC,再将压缩包内的所有文件复制到BOINC的安装目录即可。
===============================================================
版本推荐
如果CPU支持SSE3指令集且不支持HT(超线程)技术,请下载 U41.05。
(如果只参加Einstein@Home一个项目,强烈建议将CPU的HT功能禁用!)
如果CPU支持SSE3指令集但同时使用了HT,请下载 S39L。
如果CPU只支持SSE/SSE2指令集,请下载 S41.08。
如果CPU不支持任何SSE指令集,请下载 C41.03。(AMD的CPU如支持3DNow!也可以使用D系列的优化程序。)
注意:检测CPU支持的指令集可以使用 cpu-z。
===============================================================
版本历史 (部分旧版本已经删除!如果需要请到 这里 或 这里 下载。)
目前Akos的优化程序分为四个系列,其名称的首字母分别是:
C - 386 compatible windows executable (386, 486, Pentium, Pentium2, K5, K6, ...)
D - 3DNow! compatible windows executable (K6-2, K6-3, Spitfire, Thunderbird, Cyrix3, Samuel-II, Ezra, ...)
S - SSE compatible windows executable (Pentium-III, Pentium4, AthlonXP, Duron(1GHz+), ...)
U - SSE3 compatible windows executable (AMD: from E3 stepping, Intel Pentium4: Prescott, Xeon, and newer)
最先发布的是A36,适用于近几年所有的主流机器,作者的说法是:
Family 6 (AMD K7 core processors,PentiumPro,PentiumII,PentiumIII,6x86MX,M2), Family 7 (Itanium), Family 15 (Athlon64,Pentium4 and so...)
然后是387,适用于很老的机器,作者的说法是:
386, Family 4 (486,5x86,MediaGX), Family 5 (Pentium,PentiumMMX,K5,K6(all),6x86,MediaGX-MMX) and some others oldies
再然后,就是统一的C37,因为使用了标准的386指令,所以就不分新旧机器都能用(不要说你还在用286...)。
上面这些都是对FPU的相关指令进行优化,作者也尝试了针对SSE的优化,于是就有了s37a,如作者所预想,比A36或C37要慢一些,作者说大概要在如Conroe之类的新处理器(拥有128位的SSE处理引擎)上才能发挥功力。
s38是针对SSE的版本,试图解决之前针对FPU的版本所带来的计算精度方面的问题,同时计算速度也有较大幅度提高。
s39在s38的基础上优化了sin/cos的计算效率。
s39L在s39的基础上减少了对L1 Data Cache的要求,从33k降低到了11k,对piii之类的机器会有所帮助。
C40是C37的改进版本:
Changes: sin/cos interpolator, AGI optimisations
Speedup: ~10% faster than C37
D40是针对AMD的3DNow!指令集进行优化的版本。
S40 - better prefetching, AGI optimisations
S40.03 具体改进不详。
S40.04是S40.03的修正版,解决了零积分问题。
S40.12:
- double size sin/cos look-up table ( 2 more valuable bits but worse speed )
- 4 cache-lines are freed up ;-)
C41.00
- some tricks from S40.xx
- 2kB size sin/cos look-up table
C41.01 - better look-up table handling
D41.12
- 3DNow! based trigonometry (2kB look-up table)
- reorganized address generation
- newton-raphson iteration
- mathematical reductions
D41.13
- increased accuracy
- FPU based trigonometry with 4kB data
- common denominator for 4 pairs
S41.06
- FPU based trigonomety with 4kB data
- common denominator for 4 pairs
- better FPU/SSE overlapping
U41.01 - SSE3 truncation
C41.02 D41.14 S41.07 U41.04
- special rounding method (~2% speedup)
C41.03 D41.15 S41.08 U41.05
- fixed memory prefetching fault
[ Last edited by Youth on 2006-6-27 at 13:35 ] |
|