找回密码
 新注册用户
搜索
查看: 31844|回复: 59

[原创] BOINC for ATI GPUs 教程

[复制链接]
发表于 2009-9-14 22:55:09 | 显示全部楼层 |阅读模式
首先请安装最新版的催化剂驱动和确保安装 BOINC客户端 时没有选上 Protected application execution,不然识别不了GPU

之后请根据自己的系统配置下载优化程序:
Collatz Conjecture: http://boinc.thesonntags.com/collatz/power_apps.php
Milkyway@home: http://www.brilliantsite.com/milkyway/index.htm

将他们解压至BOINC的配置文件夹里:
ATI2.PNG
2000/XP用户默认在C:\Documents and Settings\All Users\Application Data\BOINC\projects
Vista/7用户默认在C:\ProgramData\BOINC\projects
PS. Collatz Conjecture解压至boinc.thesonntags.com_collatz,Milkyway@home解压至milkyway.cs.rpi.edu_milkyway

[ 本帖最后由 ledled 于 2009-11-16 15:51 编辑 ]

评分

参与人数 5基本分 +24 收起 理由
lch=gta + 6 例行公事
Youth + 6 精品文章
cicikml + 5 A卡加油,等待更多项目优化。
refla + 5 精品文章
BiscuiT + 2 GJ

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2009-9-14 23:38:12 | 显示全部楼层

app_info.xml里的<cmdline>参数说明

首先,感谢 cuihao 和 Nye 的翻译以及 yuan234yuan 的修正工作
你可以通过修改app_info.xml文件里的一些参数来设置这个应用。
你所需要做的就是编辑以下这行代码:

<cmdline></cmdline>

这行代码里你可以放置很多选项,其顺序无所谓先后。
如果同一个参数设置出现两次,只运行第二个设置。
谨记,要编辑app_info.xml文件必须和安装本应用一样采取某些预备措施,也就是说,你应当先彻底停止BOINC客户端,待编辑完成后再重启。

内核频率: f  (默认 30)
计算程序动态地决定送交GPU任务包的大小。
程序会试图输送高于这里设定数字的每秒计算任务数量,这时程序会把任务包分割成较小的部分。
在一个任务包的运行时期间,操作系统对显卡的访问将被阻断,这会导致用户界面反应迟钝现象的发生。
限制包的大小并因此缩短每个包占用的时间,会给操作系统更多时间响应用户输入。
默认值30Hz(即每秒发出30个包)对于系统是比较合理的,减少这个值会稍微增加程序运行效率。

例子:
<cmdline>f10</cmdline>
程序每秒会运行10个任务包(这将把运行时间限制在100毫秒以内)。


等待系数:w(默认 1.0)
程序在进行GPU计算时,会尝试释放CPU资源。
计算程序会预计GPU调用(即CPU向GPU发出运算命令)所需要的时间,并告知CPU线程在GPU运算期间休息。
通过这个因数,可以人为校正程序的预测时间。
若提升此参数,CPU线程会闲置更长时间,若减少,会导致CPU线程更快被唤醒。这一时间过后,对GPU的轮询会重新开始。
设置此数值为0.0将会关闭CPU资源释放。
默认值自然是1.0(100%),如果你发现GPU使用率低,可以尝试减少这个值(如果使用率为80%,设置为0.8)。
若CPU使用率过高,增加这个数值或许有所帮助。
增加该值过多会减慢GPU运算效率(但响应用户会加快)。万一过高的GPU使用率使你的计算机相应太慢甚至VPU重置,设置成w1.1可以减少GPU调用,缓解这种情况(另见f,b,p参数)。

例子:
<cmdline>w1.3</cmdline>
这样会增加30%的休息时间。


最大显存使用率:r (默认 33.4)
计算程序在显存中开辟空间以记录计算内容。
增加该值可以为进程提供更多的并行数据,并会有更多的空间使f参数接近指定的值(不大理解)。
如果超过一个WU同时处理,则不应该增加显存使用。
此数值是占用实际显存的百分率。
注意,太高或太低的数值可能导致程序崩溃。
另见readme最后关于显存用量的说明。

例子:
<cmdline>r40</cmdline>
将增加最大显存使用率到40%。


优先级:p (默认 1)
正常情况下,所有的BOINC计算程序为了不影响其他程序,都会以最低优先级运行。
当所有CPU核心在被使用时,程序暂时可能无法启动下一次计算(没有空闲的CPU资源来调用GPU)。这样做可能会导致GPU使用率过低.
提高优先级可能对计算效率会有一些帮助。
对于GPU计算程序,BOINC提供了一个略高的优先级。
有以下可行的设置:
p0:低优先级,BOINC的CPU计算程序使用。
p1:较低优先级,GPU计算程序推荐。
p2:普通优先级。
p3:高优先级,谨慎使用。
优先级会影响到计算程序在释放CPU时间后多久可以重新获得控制(另见b参数)。

例子:
<cmdline>p2</cmdline>
提升优先级到普通优先级(与大多数应用程序相同)。


带有Brook运行时的GPU轮询行为: b (default 1)
首先请看w参数的介绍。
在等待时间过去后,GPU轮询开始。
GPU轮询可以通过持续不断地进行检查运算是否完成来实现(b-1),这样用的时间最少,但是可能导致很高的CPU使用率(部分依赖于硬件驱动版本)。
第二种选择是由操作系统分配处理时间,这样别的程序可以正常运行(b0)。
需要注意的是,优先级在这里会有一些影响。
处理时间只会分配给相同优先级的其它进程。
所以提升优先级,禁止释放计算资源,实质上和设置此参数为-1作用相同。
如果你提升优先级并且希望所用的CPU时间尽量少,你应该设置此参数为默认值1。
b参数设为1,每次调用GPU计算中间至少会有1毫秒间隔,使得低优先级的任务在此期间可以使用CPU资源。
可行的设置:
b-1:忙等待
b0:向同一优先级程序释放CPU处理时间
b1:至少释放1毫秒处理时间
另见p、w参数

例子:
<cmdline>b-1</cmdline>
允许忙等待(GPU轮询期间不释放CPU资源)


各个参数可以以任意顺序写在同一行,因此这条参数是允许的:
<cmdline>w0.9 f20 r50 p2 b1</cmdline>
(等待系数0.9,内核频率20,最大显存使用率50%,标准优先级,CPU优先的轮询方式)

新BOINC客户端(6.10.3及以上版本)下设置并行WU数量
内含的app_info.xml文件表明本应用是新版6.10.x客户端的GPU应用。
关于GPU的设置是通过<coproc></coproc> 语句进行的。
这个语句也能决定本应用可以使用多少GPU.
如果使用少于一个完整GPU,客户端会为每个检测到的GPU开启数个WU。在app_info.xml文件里搜索以下语句:

<coproc>
   <type>ATI</type>
   <count>1</count>
</coproc>

将count至改成0.5意味着每个GPU运行2个WU,改成0.33则是每个GPU运行3个WU.

配置6.10之前旧版本BOINC方法:
在新的6.10.X版本客户端中,通过app_info.xml文件中的<coproc></coproc>声明表示计算程序为GPU版本。
旧版本客户端可能由于无法识别需要的GPU型号导致错误。
旧版本客户端在这种情况下会拒绝计算程序运行。
若要使程序正常运行,删除

<coproc>
...
</coproc>

和中间的任何内容。
如果该声明出现了不止一次,需要删除所有的这些声明。
然后你需要调高<avg_ncpus>0.05</avg_ncpus>中的数值(在coproc声明之前),数值的大小取决于你的需要(推荐0.5,甚至1)。


关于ATI催化剂驱动版本:
ATI/AMD在新版本驱动中重命名了CAL库文件。
你需要安装适合CAL库文件的计算程序版本(意思是如果你不想换驱动版本,就换计算程序版本)。
催化剂8.12和9.1版本使用了AMD前缀的名称,之后的版本使用ATI前缀的名称(CAL 1.4)。
如果你选择的版本正确,你就不用更改dll文件名称了。
但如果你用的是使用amd前缀dll文件的计算程序,请复制一下Windows\system32下面的这些文件(左边是32位,右边是64位):

aticalrt.dll or aticalrt64.dll
aticalcl.dll or aticalcl64.dll
aticaldd.dll or aticaldd64.dll

保留原来的3个文件(切记),创建3个文件的副本重命名为(与上面对应):

amdcalrt.dll or amdcalrt64.dll
amdcalcl.dll or amdcalcl64.dll
amdcaldd.dll or amdcaldd64.dll

用命令行会更简单。开始菜单 -> 运行,输入cmd回车。输入下述命令:

cd %systemroot%\system32
copy atical*.dll amdcal*.dll

现在,Windows\system32文件夹中应该有6个dll文件,3个amdcal*.dll,另外3个事atical*.dll。不要简单的重命名3个dll!

关于Windows 7的说明:
有些Catalyst驱动不会在Windows 7下安装CAL库。
你必须将它们从驱动包里提取出来(通常使用expand命令),然后放到Windows\system32文件夹下。
所需要的文件包括(后缀为“64”的文件只适用于64位系统):

amdcalrt.dll 或 amdcalrt64.dll
amdcalcl.dll 或 amdcalcl64.dll
amdcaldd.dll 或 amdcaldd64.dll

默认显存使用:
作为一个法则,Collatz根据显存的大小,一个WU使用总量不超过1/3。
最多的情况下,每个WU会使用528MB显存(总显存超过1.5GB时)。
显存的用量始终是(16+2^n)MB(n为正整数),例如17MB, 18MB, 20MB, 24MB, 32MB, 48MB, 80MB, 144MB, 272MB, 528MB.
这就意味着在128MB显存的显卡上,一个WU占用32MB显存,256MB显卡上占用80MB,512MB显卡上占用144MB,1GB的显卡使用272MB,等等。
但并不是说,大显存的显卡会因为显存多而计算更快。
只有真正快的显卡(比如下一代的那些显卡)才需要为并行计算任务提供更多显存。
对于HD4870显卡,512MB显存和1GB显存不会有什么区别。
使用r参数,情况类似,只不过指定了不同的使用比例。

[ 本帖最后由 ledled 于 2009-12-8 22:55 编辑 ]
回复

使用道具 举报

发表于 2009-9-15 00:26:54 | 显示全部楼层
Collatz Conjecture
Milkyway@home
那個分數比較多???
回复

使用道具 举报

 楼主| 发表于 2009-9-15 07:08:49 | 显示全部楼层

回复 #3 凸手1 的帖子

当然是Milkyway@home,Collatz Conjecture算了半个钟头才550多分,Milkyway@home不到2分钟就55多分了

[ 本帖最后由 ledled 于 2009-9-21 14:52 编辑 ]
回复

使用道具 举报

发表于 2009-9-15 07:40:34 | 显示全部楼层
唔,不错不错,先加分吧,发现不是再扣分
回复

使用道具 举报

发表于 2009-9-15 07:54:46 | 显示全部楼层
原来是给 A 记的算友看的。。。。
回复

使用道具 举报

发表于 2009-9-15 08:57:52 | 显示全部楼层
我每次上6.10.x後,boinc都不能夠隨登入連去server~
回复

使用道具 举报

 楼主| 发表于 2009-9-15 18:51:52 | 显示全部楼层

回复 #7 universebreaker 的帖子

我这边一切正常,检查防火墙网络规则……
回复

使用道具 举报

发表于 2009-9-16 21:31:32 | 显示全部楼层

回复 #1 ledled 的帖子

我的显卡 为什么在 WIN XP ,WIN 2003 下一直安装不起来计算呢,在WIN 7 64位下是可以。

换了多个驱动,也换了BOINC的版本,但一直不行,大多就是表现出计算错误,这个时候看BOINC启动的消息居然有“没有找到ATI GPU”的提示,估计是驱动不行。

偶尔有几次可以计算,但算了几个包就出现错误停了。

不知道 WIN XP 下 大家做ATI GPU 计算 有什么技巧啊
回复

使用道具 举报

头像被屏蔽
发表于 2009-9-16 21:48:56 | 显示全部楼层
什么样的ATI显卡可以支持?旧芯片能用吗?1650的?
回复

使用道具 举报

发表于 2009-9-16 22:03:24 | 显示全部楼层

回复 #8 ledled 的帖子

和防火牆無關
因為人手開boinc就沒事,但是隨登入而啟動的話,就總是連不上server~
回复

使用道具 举报

发表于 2009-9-16 23:45:09 | 显示全部楼层
原帖由 kingcdn 于 2009-9-16 21:48 发表
什么样的ATI显卡可以支持?旧芯片能用吗?1650的?


如果记得没错,应该是2000系列以上的显卡才可以支持。
回复

使用道具 举报

发表于 2009-9-17 13:28:13 | 显示全部楼层
MILK支持N卡吗?
回复

使用道具 举报

发表于 2009-9-17 15:34:47 | 显示全部楼层
楼主写个Milkyway@home的app_info.xml参数说明吧,有些实在不懂是什么
回复

使用道具 举报

发表于 2009-9-18 14:13:33 | 显示全部楼层
看来用X800的可以消失飘过。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-20 01:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表