我有一个AMD A4-5300 APU,它是双核 CPU 和 GPU。它支持 OpenCL。
我正在尝试让 BOINC 识别 GPU,但似乎无法做到。
日志(摘录):
[---] Starting BOINC client version 7.4.22 for x86_64-pc-linux-gnu
[---] OpenCL CPU: AMD A4-5300 APU with Radeon(tm) HD Graphics (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1642.5 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1642.5))
[---] No usable GPUs found
我已经在 Google 上搜索答案两天了,很遗憾,我放弃了。
我正在使用 AMD 的最新 fglrx(Catalyst 14.12)和最新的 BOINC(7.4.22),但我曾尝试过这两个版本的旧版本,但没有成功。
我安装了相关的 OpenCL 和 ICD 软件包,使 CPU 被识别为 OpenCL,但 BOINC 拒绝识别 GPU。User:boinc 属于 group:video,但我尝试设置 xvideo +
无论如何都没有什么区别。
我尝试了BOINC 论坛但都不起作用。如果下载 7.4.22 并以当前登录的用户 (1001) 身份运行,则可行(尽管我再次尝试,但不行!),但运行时不会将 BOINC 用户设置为同一用户(在更改所有文件的所有权之后),如该帖子中建议的那样。以 root 身份运行也不起作用,但我真的不应该做这两件事。
有人能帮忙吗?我真的不知道还能去哪里找。
答案1
问题最初源于SSH -X
在连接到服务器时运行带有 X 转发 ( ) 的 SSH。这会设置$DISPLAY
哪些会阻止 GPU 检测。
当我意识到这一点时,我意识到Ubuntu 中的限制(可能还有其他发行版),BOINC 必须以登录(通过 X)用户身份运行。
假设用户是user1
:
sudo service boinc-client stop
- 更改
BOINC_USER=boinc
为(初始化脚本的某些部分BOINC_USER=user1
也/etc/default/boinc
可以清理) - 在 startup() 中添加“sleep 10”
/etc/init.d/boinc-client
以允许用户登录(需要) sudo chown -R user1: /etc/boinc-client/*
sudo chown -R user1: /var/lib/boinc-client
sudo service boinc-client start
BOINC 现在可以正确检测 GPU 并相应地处理工作单元。