我现在对于GPU Reset故障有一点不成熟的猜想,GPU Reset问题可能是多个因素叠Buff叠出来的问题。但我一时之间没法说出准确具体的原理,只能给出一套也许可行的缓解办法。
7A1000/2000桥片从设计之初可能只是为了ABI 1.0(旧世界)而设计的,一旦按照ABI 2.0(新世界)的标准运行,则会增加计算量和功耗,被动散热可能会超出解热能力而引发积热。而GCN架构A卡的内核驱动补丁写两次的操作又加剧了桥片的发热量,最终使得桥片因过热而出错变得异常频繁。
使用AOSC OS和deepin系统,并且使用GCN架构A卡的各位不妨参与一下这个实验:
在龙芯新世界UEFI固件里,设置-高级当中,有一个有关启动的选项,将选项打开,即以虚拟地址启动。
(理论上deepin和AOSC OS都是支持旧世界固件引导新世界系统启动的,所以这么一整,理论上能用的新世界系统就只有AOSC OS 和deepin)
如果我个人的猜想没错的话,首先是使用GCN架构的显卡,GPU Reset的概率会大幅度降低;其次是桥片发热量会大大降低。
1.这也就解释了为什么早期使用7A1000/7A2000桥片的大部分人没有发现GPU Reset,因为早期都是按照ABI1.0这种类MIPS的方式运行,设计功耗大体上没有超出预期。故障频率还没有大到能让人引起注意的程度。
2.GPU Reset发现之初,有人提出给7A2000散热桥片换带主动风扇散热的散热器,可能也正是这个原因。
3.有人并没有感觉到GPU Reset问题严重到影响日用,其实是电脑固件仍处在旧世界(ABI1.0),从另一个角度规避了桥片过热。
4.更换显卡到非GCN架构,也是从另一个角度规避了桥片过热。
5.未经证实的消息指出旧世界的UOS直接删除了内核中关于GCN架构显卡,向PCIe写两次地址的驱动补丁。也是和4差不多一样的思路。
以上内容纯属大胆假设,还没有严谨的求证。