找回密码
 新注册用户
搜索
查看: 3018|回复: 0

Linux 双显卡,使用智能切换软件后的独显计算的问题

[复制链接]
发表于 2014-1-18 22:26:59 | 显示全部楼层 |阅读模式
目前,据我的个人了解,这应该是个坑:
以配置好的 bumblebee + bbswitch 为例,需要先加载独显模块, BOINC 才能正确识别显卡;而且必须保证计算程序执行时独显开启,才能正确计算(否则在独显关闭时会因为找不到GPU而计算错误)。BOINC 应该是没有自动调用 bbswitch 或 NVIDIA 驱动的机制,这样的话,目前唯一一种比较简单的方法就是用 bumblebee 的 optirun 运行 BOINC。但这明显有点因噎废食,就算在 BOINC 中暂时禁用 GPU,其实独显也还在运转,失掉了 bumblebee 的作用。

在 Windows 下,opencl/cuda程序不需要在optimus设置中单独配置,也可以正确调用独显。但 Linux 目前好像还是不行的。

有点想研究一下这个问题,先来问一下,看看论坛的 linux 用户有没有什么解决方案或是想法?

目前我能想到的(自己能大概够实现的)解决方案:
1、给 BOINC 加个 wrapper,用来控制 GPU 计算。功能是:在 BOINC 启动前加载一下 nvidia 驱动,让 BOINC 客户端正确识别显卡;如果用户启动要求显卡计算暂停,就让 BOINC 停掉 GPU 计算,然后卸掉驱动关闭独显;如果要求继续计算,就打开独显然后让 BOINC 继续计算。
这样的缺点是,不能让用户自己通过 boinc manager 什么的控制显卡计算了,否则万一用户在没有打开独显时启动了计算,就会出错。
2、给计算程序加个wrapper(就相当于改计算程序加 app_info)。让它们自己调用 optirun 启动。当然,还是要在 BOINC 启动前加载一下 nvidia 驱动,保证 BOINC 客户端正确识别显卡才行。
这个倒是按我的思想挺漂亮的方案,但真做起来有点麻烦……

评分

参与人数 1基本分 +2 收起 理由
wencan + 2 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-25 06:08

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表