You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GPU运行Matlab代码(gpuArray/mexcuda)导致电脑重启的问题咨询

解决Matlab GPU高负载时电脑重启的问题

这种GPU满负载触发的系统重启我之前在调试老显卡时碰到过好几次,结合你的GTX 980 Ti和Matlab矩阵乘法场景,排除内存不足后,大概率是电源供电、散热、驱动兼容性或者硬件老化这几个原因导致的,下面给你一步步排查和解决的思路:

1. 优先排查电源供电能力

GTX 980 Ti的TDP(热设计功耗)是250W,加上CPU、主板、内存等其他硬件,整机满载时的实际功耗可能接近500W甚至更高。如果你的电源额定功率不足(比如只有500W)或者是虚标的杂牌电源,高负载下电源会触发过流保护直接断电重启。

  • 验证方法:用GPU-Z或HWMonitor这类工具,在运行你的矩阵乘法代码时实时监控GPU功耗。如果看到功耗瞬间拉满后突然归零,紧接着系统重启,基本可以确定是电源的问题。
  • 解决办法:更换额定650W以上的一线品牌电源(比如海韵、航嘉、长城等),确保电源有足够的冗余功率应对GPU峰值负载。

2. 检查GPU散热是否失效

GTX 980 Ti是2015年的老卡了,使用多年后散热硅脂大概率已经干涸,或者风扇、散热鳍片积灰严重,导致散热效率骤降。高负载时GPU核心温度会快速飙升到过热保护阈值(通常是95-105℃),系统会自动重启来保护硬件。

  • 验证方法:运行代码前用gpuDevice查看GPU初始温度,或者打开HWMonitor实时监控温度变化。如果温度快速冲到90℃以上后系统重启,就是散热问题。
  • 解决办法:
    • 清理GPU风扇和散热鳍片的灰尘;
    • 重新涂抹高性能导热硅脂;
    • 给机箱添加额外的散热风扇,改善内部风道。

3. 确认Matlab与CUDA驱动的兼容性

GTX 980 Ti属于Maxwell架构,支持的最高CUDA版本是11.7。如果你的Matlab版本过新(比如R2023及以后),默认适配的CUDA版本可能超过了显卡支持的范围,底层执行异常会触发系统重启。

  • 验证方法:在Matlab中运行以下命令查看当前使用的CUDA驱动版本:
gpuDevice

查看输出中的CUDADriverVersion字段,如果版本高于11.7,就存在兼容性问题。

  • 解决办法:
    • 降级CUDA驱动到11.7及以下版本;
    • 更换为对Maxwell架构支持更好的Matlab版本(比如R2022b及更早版本)。

4. 排查显卡硬件老化问题

毕竟是8年多的老显卡,显存或核心的电子元件可能出现老化,高负载下容易出现稳定性问题。

  • 验证方法:用3DMark或FurMark这类专业压力测试工具跑满GPU负载,如果测试过程中也出现重启,基本可以确定是硬件老化导致的。
  • 解决办法:如果是显存或核心的小故障,可以尝试送修;如果老化严重,建议更换显卡。

临时调试技巧

如果暂时不想更换硬件或驱动,可以先通过降低瞬间负载来避免重启:

  • 分块执行矩阵乘法,把大矩阵拆成多个小矩阵分别计算,减少GPU的峰值功耗:
n = 5000;
blockSize = 1000;
A = single(rand(n,n));
AGPU = gpuArray(A);
result = gpuArray.zeros(n,n,'single');

for i = 1:blockSize:n
    rowEnd = min(i+blockSize-1, n);
    for j = 1:blockSize:n
        colEnd = min(j+blockSize-1, n);
        result(i:rowEnd, j:colEnd) = AGPU(i:rowEnd, :) * AGPU(:, j:colEnd);
    end
end

t2 = gputimeit(@()result);

内容的提问来源于stack exchange,提问作者use_less

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:26:10