关于 matlab-setup-gpu
面向 MATLAB 用户的 GPU 检查与故障诊断技能,可验证设备是否可用,并指导选择 GPU、排查驱动、许可和 Windows 超时等问题。
主要功能
- 01使用 MATLAB API 检查 GPU 可用性
- 02验证 GPU 设置并诊断故障
- 03列出并选择可见 GPU
- 04检查 Windows 驱动和超时设置
- 05提供可选性能基准测试指导
适用场景
- 01在 MATLAB 加速工作前检查 GPU
- 02排查 gpuDevice 或 gpuArray 错误
- 03在多 GPU 系统中选择设备
- 04诊断计算期间内核被终止
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ matlab/ matlab-agentic-toolkit --skill matlab-setup-gpu安装后在 Claude Code 中输入/matlab-setup-gpu确认已加载。
附带文件manifest.yaml
详细介绍
为 MATLAB 设置 GPU
检测是否有兼容的 GPU,验证其是否正常工作,并诊断常见故障。
适用场景
- 用户想检查系统是否能在 MATLAB 中运行 GPU 代码
- 用户调用
gpuDevice或gpuArray时遇到错误 - 用户想在多 GPU 系统中设置或选择特定 GPU
- 用户需要排查 GPU 计算无法正常工作的原因
- 作为任何 GPU 加速工作流的前置检查
不适用场景
- 编写或优化 GPU 加速代码——此技能仅检测和诊断 GPU 是否可用
- 计算期间监控 GPU 内存或利用率——直接使用
gpuDevice属性或 NVIDIA 工具 - 使用并行池在多个 GPU 之间分配工作——使用
parpool工作流
约定
- 使用 MATLAB 原生 API(
canUseGPU、gpuDeviceTable、gpuDevice)进行检测和查询属性——仅在 MATLAB 无法提供所需信息时使用nvidia-smi - 检查可用性时,优先使用
canUseGPU,而不是gpuDeviceCount == 0或isempty(gpuDeviceTable)——canUseGPU还会验证许可和工具箱状态 - 如果建议更新驱动程序,请获取适用于用户 MATLAB 版本的 GPU Computing Requirements 文档页面,以检查驱动程序选择策略
工作流
1. 是否有 GPU 可用?
canUseGPU
如果 PCT 已安装、已获得许可、支持 GPU 且有设备可用,则返回 true。如果返回 true,请继续执行第 3 步(列出可用设备)。
2. 如果 canUseGPU 返回 false——进行诊断
validateGPU("all")
如果输出包含 "requires a newer graphics driver": 这并不意味着一定存在更新的驱动程序。不要断言该 GPU 不受支持或已停止维护——在对硬件兼容性得出任何结论之前,请引导用户查看适用于此 MATLAB 版本的 GPU Computing Requirements 页面进行确认。
对于其他所有故障,请参照 故障排除 表进行判断。
3. 列出可用设备
gpuDeviceTable % List all GPUs and indices (no memory allocation)
选择设备之前,务必先运行 gpuDeviceTable——该命令会确认哪些设备可见及其 MATLAB 索引。
4. 选择设备并查询属性
d = gpuDevice(N); % Select GPU N
properties(d) % List available device properties
5. 检查驱动程序模型(仅限 Windows)
d = gpuDevice; % returns device already selected
d.DriverModel
d.KernelExecutionTimeout
如果是 WDDM:GPU 与显示器共用——长时间运行的内核可能会被操作系统看门狗终止,且 GPU 内存不足时可能表现不稳定。如果 d.KernelExecutionTimeout 为 true,则表示已启用内核超时。
TCC 或 MCDM 可避免这些问题,但仅适用于未连接显示器的部分专业级和数据中心 GPU。如果无法切换驱动程序模式,且用户遇到内核超时,建议增加 Windows 注册表中的 TDR 超时时间、关闭其他 GPU 加速应用,或将计算拆分为更小的批次。
6. 对 GPU 性能进行基准测试(可选)
如需评估 GPU 的计算能力,可建议用户运行 gpuBench(可从 MATLAB File Exchange 获取,并非 MATLAB 自带)。该工具会对内存带宽、单精度/双精度计算进行基准测试,比较 GPU 与 CPU 的性能,并提供与其他常见 GPU 的对比数据。
故障排除
| 症状 | 原因 | 解决方法 |
|---|---|---|
canUseGPU 返回 false,且没有错误 | 未获得 PCT 许可 | 检查 license('test','Distrib_Computing_Toolbox')。如果为 false,则用户需要 PCT 许可。 |
找不到 validateGPU | 未安装 PCT,或版本早于 R2024b | 检查 ver('parallel')——如果为空,则未安装 PCT;如果版本低于 24.2(R2024b),则该版本中没有 validateGPU。 |
| “requires a newer graphics driver”或 validateGPU: platform or driver check FAILED | NVIDIA 驱动程序过旧,或该 GPU 架构的驱动程序支持可能已终止 | 这并不保证存在更新的驱动程序。请查阅适用于用户所用版本的 GPU Computing Requirements 文档页面,确认该 GPU 仍受支持后,再建议更新驱动程序。 |
| validateGPU: "Device available" FAILED | 计算模式受限或为独占模式 | 查看消息:如果是“prohibited”,则表示 vGPU 仅图形配置(后缀为“B”,例如 A16-2B),需要启用计算功能的配置(后缀为 Q 或 C);建议用户联系系统管理员。如果是“exclusive”,则表示 GPU 正被另一个进程使用,请释放 GPU 或选择其他设备。 |
| validateGPU: 设备数为 0 | MATLAB 无法检测到设备 | 如果在容器中运行,请确认已配置 GPU 直通。否则,请查阅适用于用户所用版本的 GPU Computing Requirements 文档页面,确认支持的硬件。 |
| GPU 内核在计算过程中被终止(Windows) | WDDM 驱动程序模型启用了 TDR | 请参阅第 5 步,了解驱动程序模型的影响和补救措施 |
关键函数
| 函数 | 用途 |
|---|---|
canUseGPU | 快速检查可用性——如果已获得 PCT 许可且存在可用的 GPU 设备,则返回 true |
validateGPU | 结构化诊断——测试各层并报告结果 |
gpuDeviceTable | 列出所有可见 GPU 的索引、名称和状态(不分配内存) |
gpuDevice | 按索引选择 GPU,或返回当前设备(不带参数) |
版权所有 2026 The MathWorks, Inc.