在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