matlab-setup-gpu について
MATLAB ユーザー向けに GPU の利用可否を確認し、セットアップの問題を診断するスキルです。デバイスの検証や選択に加え、ドライバー、ライセンス、Windows のタイムアウトに関する一般的な問題を扱います。
主な機能
- 01MATLAB API による GPU 利用可否の確認
- 02GPU 設定の検証と障害診断
- 03認識された GPU の一覧表示と選択
- 04Windows のドライバーモデルとタイムアウト設定の確認
- 05任意の性能ベンチマークに関する案内
活用シーン
- 01MATLAB の GPU 処理前の利用可否確認
- 02gpuDevice や 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)を使用します —nvidia-smiは MATLAB では取得できない情報に限って使用します - GPU の可用性チェックには
gpuDeviceCount == 0やisempty(gpuDeviceTable)よりcanUseGPUを優先します —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 はディスプレイと共有されています。長時間実行されるカーネルは OS のウォッチドッグによって終了させられる場合があり、メモリ不足時には GPU の動作が不安定になる可能性があります。d.KernelExecutionTimeout が true の場合、カーネルのタイムアウトが有効です。
TCC または MCDM ではこれらの問題を回避できますが、ディスプレイに接続されていない一部のプロフェッショナル向け GPU およびデータセンター 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 を使用できません。 |
| 「新しいグラフィックスドライバーが必要です」または validateGPU: プラットフォームまたはドライバーのチェックに FAILED | NVIDIA ドライバーが古すぎる、または GPU アーキテクチャに対するドライバーのサポートが終了している可能性がある | 新しいドライバーが存在するとは限りません。ドライバーの更新を勧める前に、ユーザーが使用しているリリースの GPU Computing Requirements ドキュメントページを参照し、その GPU が引き続きサポートされていることを確認してください。 |
| validateGPU: 「Device available」が FAILED | 計算モードが禁止または排他的 | メッセージを確認します。「prohibited」の場合は、vGPU のグラフィックス専用プロファイル(「B」サフィックス、例:A16-2B)が原因です。計算に対応したプロファイル(Q または C サフィックス)が必要なため、システム管理者に問い合わせるようユーザーに案内してください。「exclusive」の場合は、別のプロセスが GPU を使用しています。そのプロセスを終了するか、別のデバイスを選択してください。 |
| validateGPU: デバイス数が 0 | MATLAB からデバイスが認識されない | コンテナー内で実行している場合は、GPU パススルーが設定されていることを確認します。それ以外の場合は、ユーザーが使用しているリリースの GPU Computing Requirements ドキュメントページを参照し、対応ハードウェアを確認してください。 |
| GPU カーネルが計算中に強制終了される(Windows) | TDR が有効な WDDM ドライバーモデル | ドライバーモデルの影響と対処方法については、手順 5 を参照してください。 |
主な関数
| 関数 | 目的 |
|---|---|
canUseGPU | 簡易的な利用可否チェックです。PCT ライセンスがあり、使用可能な GPU デバイスが存在する場合に true を返します。 |
validateGPU | 構造化された診断を行います。各レイヤーをテストし、結果を報告します。 |
gpuDeviceTable | 認識されているすべての GPU のインデックス、名前、状態を一覧表示します(メモリ割り当てなし)。 |
gpuDevice | インデックスを指定して GPU を選択するか、引数なしで現在のデバイスを返します。 |
Copyright 2026 The MathWorks, Inc.