在Debian GNU/Linux 8.3(64位)上运行使用NVIDIA GPU的BOINC
在Debian GNU/Linux 8.3(64位)上使用NVIDIA GPU运行BOINC。
安装公式驱动程序
在这里,我们将安装Debian提供的软件包版本为340.96。
https://wiki.debian.org/NvidiaGraphicsDrivers#Version_340.96
在这个驱动程序版本中支持的设备如下:
http://us.download.nvidia.com/XFree86/Linux-x86_64/340.96/README/supportedchips.html
在apt中添加配置
修改/etc/apt/sources.list文件中的以下行。
deb http://ftp.jp.debian.org/debian/ jessie main
为了兼容专有软件包,进行如下更改。
deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
安装驱动程序包
# aptituide update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
在NVIDIA驱动程序安装过程中显示错误时,请无需惊慌,继续阅读。
创建用于 X.org 的配置文件。
首先,创建一个用于放置设定文件的目录。(如果目录已经存在,则不需要进行此步骤。)
# mkdir /etc/X11/xorg.conf.d
在创建的目录中放置一个名为20-nvidia.conf的文件,其内容如下。
Section "Device"
Identifier "My GPU"
Driver "nvidia"
EndSection
重新启动
让我们祈祷后重新启动。
由于免费版本的NVIDIA驱动程序(nouveau)会自动禁用,因此无需手动操作。
如果NVIDIA标志立刻显示,并且X成功启动,那就算成功了。关于如何删除NVIDIA标志,请参考以下网址。
BOINC相关安装
启用与i386相关的库。
由于一些项目需要i386库而非x86_64(amd64)环境,因此为了确保多架构的兼容性,需要启用多架构选项。
# dpkg --add-architecture i386
# aptitude update
安装BOINC相关软件包。
由于Debian Wiki的描述较旧,我无法确定,但我安装了以下内容。可能会有一些缺少或不需要的软件包。
# aptitude install boinc boinc-nvidia-cuda nvidia-opencl-icd nvidia-glx libcuda1
为了使BOINC能找到OpenCL,需要进行一些黑客操作。
由于BOINC可能会丢失OpenCL库,所以需要进行设置。
# ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/x86_64-linux-gnu/libOpenCL.so
# /etc/init.d/boinc-client restart
确认是否识别到GPU
启动BOINC管理器(boincmgr),确认事件日志中出现以下类似信息。
CUDA: NVIDIA GPU 0: GeForce GT 430 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1023MB, 798MB available, 269 GFLOPS peak)
OpenCL: NVIDIA GPU 0: GeForce GT 430 (driver version 340.96, device version OpenCL 1.1 CUDA, 1023MB, 798MB available, 269 GFLOPS peak)
注册和运行BOINC项目
以下是已经确认在Linux(x86_64/amd64)上支持NVIDIA GPU并经过实际运行验证的项目列表:
-
- Asteroids@home
-
- Collatz Conjecture
-
- Einstein@Home
-
- Milkyway@Home
-
- Moo! Wrapper
-
- POEM@HOME
- PrimeGrid
由于目前似乎没有使用GPU的项目运行,所以无法确认其运行情况。
- World Community Grid
故障排除
如果您的机器显示不支持
可能缺少与i386相关的库文件。
因为涉及到图形显示,所以可能需要 i386 版本的库,只能仔细地对 /var/lib/boinc 目录下的可执行文件进行 ldd(动态链接库依赖检查)。
如果特定项目无法注册或无法进行通信的情况。
请参考以下链接:http://qiita.com/rltm/items/9198a847f8c6e740e54a