如何在 Fedora 上使用 BOINC
BOINC 是由伯克利大学主导的开源跨平台分布式计算平台。借助它,个人用户可以将自己计算机空闲时间贡献给有意义的科学运算,为全人类的进步做出一份努力。本文将介绍如何在 Fedora 系统上安装并配置 BOINC 。
全文以 Fedora 10 i386 为例,大量参考了 BOINC 维基上提供的信息。
安装
目前 BOINC 已经被收录进 Fedora 7 以后的官方软件仓库中,可以方便的使用
yum 安装。
su -c 'yum install boinc-client boinc-manager'
安装完之后会创建一个 boinc 用户组和一个 boinc-client
服务。所有项目相关内容被存放在 /var/lib/boinc 目录下。
其中 boinc-client 是协调所有 boinc-client 的管理程序, boinc-manager
是它的图形化管理前端。
配置
出于安全方面的考虑,只有 root 用户才可以访问 boinc
的管理目录。个人用户还需要一些设置才能在日常使用的帐户下使用
boinc-manager 管理 BOINC 项目。
假设常用用户名为 username,用您的实际用户名替换掉 username。
首先,需要将自身添加进 boinc 用户组。
su -c '/usr/sbin/usermod -G boinc -a username'
接下来,赋予 boinc 对于 /var/lib/boinc 目录的访问权限。
su -c 'chmod g+rw /var/lib/boinc'
su -c 'chmod g+rw /var/lib/boinc/*.*'
在常用用户主目录下创建指向 /var/lib/boinc 下认证文件的符号链接
su -c 'ln -s /var/lib/boinc/gui_rpc_auth.cfg /home/username/gui_rpc_auth.cfg'
改变该符号链接的所有者
su -c 'chown boinc:boinc /home/username/gui_rpc_auth.cfg'
完成以上所有工作后,需要注销并重新登录才可生效。
使用
使用“系统”-“管理”-“服务”,点击选择"boinc-client",使用“开始”启动
boinc-client 服务,之后就可以在“应用程序”-“系统工具”中使用“BOINC
Manager” 管理 BOINC 项目了。若要想以后开机时自动启动 boinc
服务的话点击“启用”即可。
首先从 BOINC
官方网站上寻找中意的分布式计算项目,目前主要以天文和医学的居多,复制下有意加入的项目网址,然后使用
BOINC Manager
“工具”菜单中的“加入项目”,填入项目网址即可。如果是首次使用的话,依照提示创建一个帐号即可。
强烈建议之后使用创建的帐号访问网页并加入 Team China
组,向世界显示华人的力量~
“高级”菜单中的“本地参数设置”也是一个值得调整的地方。在这里可以配置 BOINC
对于处理器、内存和硬盘的使用情况。
强烈建议使用本本的用户在“处理器使用”的“其他选项”中将“最多使用 CPU
时间调整”为
50.00%,可以有效避免本本过热的情况。如果看不见该选项的话,需要用鼠标在该对话框稍微扩大些。
使用 CUDA 加速计算
如果您使用的显卡为 nVidia Geforce 8 系列及以后并具有至少 256 M
独立显存的话,还可以在 SETI@HOME 和 GPUGRID(仅限64位 Linux)中通过
CUDA 使用 GPU 加速计算。
下面简述使用 CUDA 要点:
-
首先要具有 libcudart.so 运行库。rpmfusion 打包的 nVidia 驱动中并不包含,需要单独下载 CUDA ,可以从 nVidia CUDA 官网找到。使用 nVidia 官方安装包的已经默认安装,无需单独下载 CUDA 了。
-
使用 locate libcudart.so 命令找到 libcudart.so 的位置,然后创建一个符号链接到 /var/lib/boinc 目录下。
-
赋予 /dev/nvidia0 和 /dev/nvidiactl 其他用户访问权限,用
su -c 'chown o+rw /dev/nvidia0'
su -c 'chown o+rw /dev/nvidiactl'
- 在“系统”-“管理”-“服务”中重启 "boinc-client" 服务。
如果一切正常的话,那么在 BOINC Manager 的“消息”标签页中就可以看到 Coprocessors 的信息了。
个人感受
本人算是 BOINC 的老用户了,但是自从主计算机变为 12
寸的本本后由于散热问题就很少参与了。尽管设置 CPU 时间为 50%
热量大为减少,但是要在限定的时间内上报计算,对于我的 Turion 64 X2 TL-58
有些难度。而自己的 GeForce 8400M G 只有 128 M 独立显存,CUDA
也用不成。所以, BOINC 还是交给有强力独立显卡或多核 CPU 的台式机用户吧~