本帖最后由 Baiqing_Lyu 于 2020-4-14 23:53 编辑
此教程默认你已经对Linux有一个基本的认识和理解,如果你想要更高的PPD,使用Linux来跑包可以带来更高的分数。这个教程针对的是无头Linux服务器设置,不过只要系统版本一样有没有桌面都没有关系。所有的命令会从终端完成。如果哪个资源被墙了可以告诉我,我可以将需要的软件上传到IPFS。
Ubuntu (18.04) 安装步骤
- curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
复制代码- sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
复制代码- sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
复制代码- sudo apt update && sudo apt install cuda -y
复制代码- CUDA已经安装,现在需要OpenCL来提供libOpenCL.so
- sudo apt install ocl-icd-opencl-dev
复制代码- wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/latest.deb
复制代码
安装的时候会有一个弹窗问你要用户名和密码,可以暂时不填,最后一个问你是否开启服务的时候必须选Yes,否则软件不会正常安装。
安装完成,可以跳到调试步骤
CentOS 7/8 RHEL 7/8
- sudo yum clean all
- sudo yum install -y kernel | grep -q 'already installed' || sudo reboot
复制代码 系统可能会重启。
- sudo yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
复制代码
CentOS/RHEL 8
- sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-repo-rhel8-10.1.243-1.x86_64.rpm
复制代码 CentOS/RHEL 7
- sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
复制代码
- 安装epel-release来源,此来源含有需要的DKMS部件:
CentOS 7/8 and RHEL 7:
- sudo yum install epel-release
复制代码
RHEL 8:
- sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
复制代码
- sudo yum install opencl-headers
复制代码
- 现在所有需求已经安装,可以开始安装F@H无头客户端,下载并安装客户端软件包:
- sudo yum install https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v7.5/latest.rpm
复制代码
安装完成,可以跳到调试步骤
调试步骤
- sudo /etc/init.d/FAHClient stop
复制代码 如果弹出没有此命令重启系统。
设置文件在/etc/fahclient/config.xml
附件有一个设置例子,可以根据需求修改。(一些系统可能不支持中文,在保存前记得将中文移除)
如果选择要用远程控制,需要将端口36330打开。
- sudo /etc/init.d/FAHClient start
复制代码
- sudo /etc/init.d/FAHClient status
复制代码- sudo /etc/init.d/FAHClient log
复制代码
目前英伟达OpenCL的算法极其差劲,导致一个GPU就会需要一个CPU核心来提供数据。如果你想要在CPU上跑包以这个算法来考虑需要用几个核心:
CPU跑包核心数量= CPU核心总数量 - GPU数量
使用所有CPU+GPU会导致GPU不被充分的利用。
|