Skip to content
cccskills
FreePublished on GitHub

matlab-setup-gpu

Detect and validate GPU availability for MATLAB GPU computing. Use when the user can't use their GPU, or is setting up or selecting a GPU. Triggers on: gpuDevice, GPU setup, check GPU, GPU not found, GPU not working, can't use GPU, GPU not available, unable to find a supported GPU device, compatible GPU, canUseGPU, validateGPU.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md5.9 KB
  • manifest.yaml424 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Set Up GPU for MATLAB

Detect whether a compatible GPU is available, validate it works, and diagnose common failure modes.

When to Use

  • User wants to check if their system can run GPU code in MATLAB
  • User gets errors when calling gpuDevice or gpuArray
  • User wants to set up or select a specific GPU in a multi-GPU system
  • User needs to troubleshoot why GPU computing isn't working
  • As a prerequisite check before any GPU-accelerated workflow

When NOT to Use

  • Writing or optimizing GPU-accelerated code — this skill only detects and diagnoses GPU availability
  • Monitoring GPU memory or utilization during computation — use gpuDevice properties directly or NVIDIA tools
  • Distributing work across multiple GPUs with parallel pools — use parpool workflows

Conventions

  • Use MATLAB-native APIs (canUseGPU, gpuDeviceTable, gpuDevice) for detection and properties — reserve nvidia-smi for information MATLAB cannot provide
  • Prefer canUseGPU over gpuDeviceCount == 0 or isempty(gpuDeviceTable) for availability checks — canUseGPU also verifies licensing and toolbox state
  • If recommending a driver update, fetch the GPU Computing Requirements documentation page for the user's MATLAB release to check the driver selection policy

Workflow

1. Is a GPU available?

canUseGPU

Returns true if PCT is installed, licensed, GPU support is present, and a device is available. If true, proceed to step 3 (list available devices).

2. If canUseGPU returns false — diagnose

validateGPU("all")

If the output contains "requires a newer graphics driver": this does not guarantee a newer driver exists. Do not state that the GPU is unsupported or end-of-life — direct the user to verify on the GPU Computing Requirements page for this MATLAB release before drawing any conclusion about hardware compatibility.

For all other failures, interpret using the Troubleshooting table.

3. List available devices

gpuDeviceTable          % List all GPUs and indices (no memory allocation)

Always run gpuDeviceTable before selecting a device — it confirms which devices are visible and their MATLAB indices.

4. Select device and query properties

d = gpuDevice(N);       % Select GPU N
properties(d)           % List available device properties

5. Check driver model (Windows only)

d = gpuDevice;              % returns device already selected
d.DriverModel
d.KernelExecutionTimeout

If WDDM: the GPU is shared with the display — long-running kernels may be killed by the OS watchdog, and the GPU may exhibit unstable behaviour when low on memory. If d.KernelExecutionTimeout is true, kernel timeouts are active.

TCC or MCDM avoid these issues but are only available on select professional and data centre GPUs not connected to a display. If switching is not an option, and user experiences kernel timeouts, advise: increase TDR timeout in Windows Registry, close other GPU-accelerated apps, or break computation into smaller chunks.

6. Benchmark GPU performance (optional)

To qualify the GPU's computing power, suggest the user run gpuBench (available from the MATLAB File Exchange, not shipped with MATLAB). It benchmarks memory bandwidth, single/double precision compute, compares GPU vs CPU performance, and provides comparison data against other popular GPUs.

Troubleshooting

SymptomCauseResolution
canUseGPU returns false, no errorPCT not licensedCheck license('test','Distrib_Computing_Toolbox'). If false, user needs a PCT license.
validateGPU not foundPCT not installed or pre-R2024bCheck ver('parallel') — if empty, PCT is not installed; if version is below 24.2 (R2024b), validateGPU is not available in that release.
"requires a newer graphics driver" or validateGPU: platform or driver check FAILEDNVIDIA driver too old, or driver support for the GPU architecture may have endedDoes not guarantee a newer driver exists. Consult the GPU Computing Requirements documentation page for the user's release to confirm the GPU is still supported before advising a driver update.
validateGPU: "Device available" FAILEDProhibited or exclusive compute modeCheck the message: if "prohibited" — vGPU graphics-only profile ("B" suffix, e.g. A16-2B), requires compute-enabled profile (Q or C suffix), advise user to escalate to system administrator. If "exclusive" — GPU in use by another process, free it or select a different device.
validateGPU: device count is 0Device not visible to MATLABIf running in a container, verify GPU passthrough is configured. Otherwise, consult the GPU Computing Requirements documentation page for the user's release to confirm supported hardware.
GPU kernel killed mid-computation (Windows)WDDM driver model with TDR activeSee step 5 for driver model implications and remediation

Key Functions

FunctionPurpose
canUseGPUQuick availability check — true if PCT licensed and a usable GPU device exists
validateGPUStructured diagnostic — tests each layer and reports results
gpuDeviceTableList all visible GPUs with indices, names, and status (no memory allocation)
gpuDeviceSelect a GPU by index, or return the current device (no argument)

Copyright 2026 The MathWorks, Inc.


Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Guide for accessing financial and economic data in MATLAB using the Datafeed Toolbox. Covers Bloomberg (market data via bloomberg/blp/bloombergHypermedia), FRED (Federal Reserve economic data via fredrs), Haver Analytics (economic data via haver/haverdirect/haverview), and LSEG Datastream (historical data via datastreamws). Use when connecting to any of these data providers from MATLAB.

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

Read BEFORE writing any code that adds Additive White Gaussian Noise (AWGN) to signals and converts between SNR, Eb/No, Es/No, and per-subcarrier SNR for communications simulations, using awgn(), convertSNR(), berawgn(). The default MATLAB patterns for AWGN (e.g., 'measured' option, manual SNR formulas) produce subtly incorrect results. This skill specifies the correct calling conventions, required function usage, and critical anti-patterns that must be avoided.

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

Analyze AMS waveform data using Mixed-Signal Blockset utilities: phase noise measurement, clock jitter, anti-aliased resampling, timing measurements, lock time, INL/DNL, ADC/DAC calibration, HSpice import. Use when analyzing time-domain voltage from PLL/VCO/clock simulations, measuring phase noise from variable-step solver output, computing jitter, or resampling non-uniform data.

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

Design and analyze electrically large antenna structures using MATLAB Antenna Toolbox. Covers reflector antennas (parabolic, Cassegrain, Gregorian, offset, corner, cylindrical, spherical, custom STL), reflectarrays and reconfigurable intelligent surfaces (RIS), antennas installed on platforms (vehicles, aircraft, ships, satellites), and radar cross section (RCS) analysis. Includes solver selection (MoM-PO, PO, MoM, FMM), mesh control, and GPU acceleration. Use when the user wants to design a dish/reflector antenna, reflectarray, analyze an antenna on a platform, or compute RCS.

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

Analyze data using MATLAB. Use when the task involves tables, timetables, time-series data, numeric arrays, sensor matrices, or gridded data — including but not limited to exploring, row filtering, sorting, cleaning, transforming, aggregating, smoothing, padding, trimming, and answering questions about data. MATLAB provides extensive, easy-to-use built-in functions for these workflows with no additional products required.

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

S-parameters, insertion loss, fields, currents, mesh control, and solver selection for RF PCB performance validation. TRIGGER: user asks to compute S-parameters, analyze insertion/return loss, extract fields or currents, compare MoM vs FEM, or control mesh for any RF PCB component. Invoke BEFORE writing sparameters() or solver code — API is non-obvious. SKIP: designing or creating components (use the specific matlab-design-pcb-* skill), material/stackup setup only (use matlab-manage-pcb-material), optimization sweeps (use matlab-optimize-pcb-design), PDN/IR-drop analysis (use matlab-analyze-pcb-pdn).

The English summary is being prepared. Showing the original description.

matlab/matlab-agentic-toolkit1.2KUpdated Oct 14, 2026

See all skills by matlab

Report a problem with this skill