mcpField
M
matlab-setup-gpu

matlab-setup-gpu

github.com/matlab開発1.2k66 回インストール1 日前に更新
リポジトリ

matlab-setup-gpu について

MATLAB ユーザー向けに GPU の利用可否を確認し、セットアップの問題を診断するスキルです。デバイスの検証や選択に加え、ドライバー、ライセンス、Windows のタイムアウトに関する一般的な問題を扱います。

主な機能

  1. 01MATLAB API による GPU 利用可否の確認
  2. 02GPU 設定の検証と障害診断
  3. 03認識された GPU の一覧表示と選択
  4. 04Windows のドライバーモデルとタイムアウト設定の確認
  5. 05任意の性能ベンチマークに関する案内

活用シーン

  1. 01MATLAB の GPU 処理前の利用可否確認
  2. 02gpuDevice や 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)を使用します — 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: プラットフォームまたはドライバーのチェックに FAILEDNVIDIA ドライバーが古すぎる、または GPU アーキテクチャに対するドライバーのサポートが終了している可能性がある新しいドライバーが存在するとは限りません。ドライバーの更新を勧める前に、ユーザーが使用しているリリースの GPU Computing Requirements ドキュメントページを参照し、その GPU が引き続きサポートされていることを確認してください。
validateGPU: 「Device available」が FAILED計算モードが禁止または排他的メッセージを確認します。「prohibited」の場合は、vGPU のグラフィックス専用プロファイル(「B」サフィックス、例:A16-2B)が原因です。計算に対応したプロファイル(Q または C サフィックス)が必要なため、システム管理者に問い合わせるようユーザーに案内してください。「exclusive」の場合は、別のプロセスが GPU を使用しています。そのプロセスを終了するか、別のデバイスを選択してください。
validateGPU: デバイス数が 0MATLAB からデバイスが認識されないコンテナー内で実行している場合は、GPU パススルーが設定されていることを確認します。それ以外の場合は、ユーザーが使用しているリリースの GPU Computing Requirements ドキュメントページを参照し、対応ハードウェアを確認してください。
GPU カーネルが計算中に強制終了される(Windows)TDR が有効な WDDM ドライバーモデルドライバーモデルの影響と対処方法については、手順 5 を参照してください。

主な関数

関数目的
canUseGPU簡易的な利用可否チェックです。PCT ライセンスがあり、使用可能な GPU デバイスが存在する場合に true を返します。
validateGPU構造化された診断を行います。各レイヤーをテストし、結果を報告します。
gpuDeviceTable認識されているすべての GPU のインデックス、名前、状態を一覧表示します(メモリ割り当てなし)。
gpuDeviceインデックスを指定して GPU を選択するか、引数なしで現在のデバイスを返します。

Copyright 2026 The MathWorks, Inc.


コメント