mcpField
M
matlab-setup-gpu

matlab-setup-gpu

github.com/matlab开发1.2k66 次安装1 天前更新
代码仓库

关于 matlab-setup-gpu

面向 MATLAB 用户的 GPU 检查与故障诊断技能,可验证设备是否可用,并指导选择 GPU、排查驱动、许可和 Windows 超时等问题。

主要功能

  1. 01使用 MATLAB API 检查 GPU 可用性
  2. 02验证 GPU 设置并诊断故障
  3. 03列出并选择可见 GPU
  4. 04检查 Windows 驱动和超时设置
  5. 05提供可选性能基准测试指导

适用场景

  1. 01在 MATLAB 加速工作前检查 GPU
  2. 02排查 gpuDevice 或 gpuArray 错误
  3. 03在多 GPU 系统中选择设备
  4. 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 FAILEDNVIDIA 驱动程序过旧,或该 GPU 架构的驱动程序支持可能已终止这并不保证存在更新的驱动程序。请查阅适用于用户所用版本的 GPU Computing Requirements 文档页面,确认该 GPU 仍受支持后,再建议更新驱动程序。
validateGPU: "Device available" FAILED计算模式受限或为独占模式查看消息:如果是“prohibited”,则表示 vGPU 仅图形配置(后缀为“B”,例如 A16-2B),需要启用计算功能的配置(后缀为 Q 或 C);建议用户联系系统管理员。如果是“exclusive”,则表示 GPU 正被另一个进程使用,请释放 GPU 或选择其他设备。
validateGPU: 设备数为 0MATLAB 无法检测到设备如果在容器中运行,请确认已配置 GPU 直通。否则,请查阅适用于用户所用版本的 GPU Computing Requirements 文档页面,确认支持的硬件。
GPU 内核在计算过程中被终止(Windows)WDDM 驱动程序模型启用了 TDR请参阅第 5 步,了解驱动程序模型的影响和补救措施

关键函数

函数用途
canUseGPU快速检查可用性——如果已获得 PCT 许可且存在可用的 GPU 设备,则返回 true
validateGPU结构化诊断——测试各层并报告结果
gpuDeviceTable列出所有可见 GPU 的索引、名称和状态(不分配内存)
gpuDevice按索引选择 GPU,或返回当前设备(不带参数)

版权所有 2026 The MathWorks, Inc.


评论

支持 Markdown