当我运行一些使用 Eigen 库的 C++ 代码时,我的外部监视器上会出现损坏条。不是立即,而是在几秒钟或几分钟后。我正在使用 SparseMatrix、VectorXd 和 BiCGSTAB 类。当我在没有 Eigen 调用的情况下运行代码时,不会出现问题。我正在使用支持 Optimus 的笔记本电脑。损坏从未出现在我的内置显示器上。
其他观察:
- 关闭并重新打开外接显示器可暂时解决此问题。
- Windows 与 Linux 没有区别。
- Nouveau 与 NVIDIA 驱动程序没有区别。
- 屏幕分辨率没有区别;HDMI 与 DisplayPort 没有区别。
- 有一段时间,腐败只在拨打 Eigen 电话时出现。然后它开始在使用不相关的软件(例如,Firefox、Evince)时发生,但不像我的特征调用代码那样频繁。所以我把我的 dGPU (GeForce 940mx) 换成了 eBay 上用过的一个。我预计这将解决问题或改变什么。令我困惑的是,它使事情回到了早期的状态,运行我的 Eigen 代码会导致损坏,但不会导致其他软件损坏。
- 有人告诉我,我的 dGPU 渲染了我的外接显示器,但是当我换掉我的 dGPU 时,我看到我的 HDMI 和 DisplayPort 似乎连接到了主板,而不是图形子板。我认为这意味着我的 iGPU(英特尔 HD 620)毕竟正在为我的外接显示器渲染视频?
- 我的代码是用户空间,没有root权限。
- Valgrind 没有显示任何泄漏。
我希望以某种方式涉及硬件问题,这不是 Eigen 中的错误。但是我迷路了,并且 Eigen 与它有关,所以我希望这里跟随 Eigen 标签的一些人可能会有一个想法。