Metalデベロッパツール

XcodeのMetalデバッガやInstrumentsのMetalシステムトレースなど、パワフルで幅広いツールセットを使って、Metalアプリの作成、デバッグ、プロファイルを行うことができます。

ワールドクラスのデバッグ機能

Xcodeには、Metalアプリをデバッグするための高度なツールなど、包括的なツールセットが含まれています。Metalデバッガを使用すると、使用されているすべてのリソースに加えて、レンダリング、コンピューティング、機械学習のパイプライン全体を検証できます。Metal 4が新たにサポートされ、エンコーダのステージの同期や機械学習ネットワーク内の中間テンソルなど、より幅広い領域で問題デバッグと修正が可能になりました。

使い方を確認する

依存関係の確認

依存関係ビューアではMetalワークロードの構造が視覚的に表示され、リソース、パス、同期プリミティブや、頂点やフラグメントなどの個々のエンコーダのステージ間の関係を確認できます。

さらに詳しく

メモリ使用量の最適化

Metalデバッガには、Metalのメモリ使用量についての包括的なレポート機能があり、Metalアプリのメモリ占有量の最適化と削減に役立ちます。

さらに詳しく

Moana Island Scene, Copyright 2017-2022 Disney Enterprises, Inc. All rights reserved.

リソースの検証

バッファ、テクスチャ、テンソルなどのオブジェクト、およびレイトレーシング高速化構造など、Metalアプリで使用されているさまざまなリソースを調べられます。

さらに詳しく

シェーダデバッグ

シェーダデバッガは、シェーダの実行中に任意ポイントにジャンプして変数の値を調べることで、シェーダコードの問題をデバッグするのに役立ちます。シェーダコードを編集し、変更を再読み込みすれば、修正内容を確認できます。

さらに詳しく

機械学習との新たな統合

新しい機械学習ネットワークデバッガは、Metal 4の機械学習エンコーダにおける問題デバッグ役立ちます。ネットワークがAppleシリコン上での実行向けにどのように最適化されているかを視覚的に把握した上で、ネットワーク内の任意の処理にジャンプして、中間テンソル内の予期しない値を特定できます。

Metal 4による機械学習とグラフィックスの統合

最適化されたネットワークの表示

処理がどのように実行に最適化されているかを視覚的に把握し、GPUによってまとめて実行されている処理やNeural Engineにオフロードされている処理を検出できます。まとめられた処理は、最適化された単一のMetalシェーダに統合されるため、中間メモリのオーバーヘッドが生じません。

デバッグの中間値

機械学習ネットワークデバッガは、機械学習ネットワーク内の任意のポイントで処理を評価できるため、GPUで実行されるあらゆる処理の入力または出力の予期しない中間値をデバッグする上で役立ちます。

ランタイム時の自動検証

Metalにはパワフルなランタイム診断ツールのセットが組み込まれており、Metalアプリが正しく動作していることを検証するのに役立ちます。Xcodeではソースコード内にエラー箇所が表示されるため、問題の発生前にバグを見つけることができます。

APIの使用状況の確認

Metalでは、APIが正しく使われているかどうかを確認できます。たとえば、間違ったフラグがテクスチャに設定されている場合に、Metalで通知が行わます。

さらに詳しく

シェーダの確認

Metalでは、境界外のバッファにアクセスするなどの不適切な行為からシェーダを保護することもできます。シェーダコードに問題が発生した場合、Xcodeはシェーダソースコード内でエラー箇所を表示ます。

さらに詳しく

Metalのパワーを最大限に活用

Xcodeには高度なツールセットがバンドルされているため、MetalアプリはAppleハードウェア上で一貫したスムーズなレンダリングと優れたパフォーマンスを実現できます。

ライブパフォーマンスのモニタリング

MetalパフォーマンスHUDを使えば、Metalアプリでグラフィックスに関する主要な統計情報を直接モニタリングできるため、XcodeやInstrumentsでパフォーマンスの問題や、最適な取り込み範囲を簡単に特定できます。

さらに詳しく

システム全体の分析

InstrumentsのMetalシステムトレーステンプレートでは、MetalアプリのCPUやGPUの並列処理およびメモリ使用量を時系列で表示できます。

さらに詳しく

カウンタによるパフォーマンスの改善

Xcodeのパフォーマンスタイムラインには、同時に実行されているさまざまなパスやステージとともに、ハードウェアカウンタが表示されます。GPUタスクが並行処理でないことを確認することで、過剰なシリアライズを検出できます。

さらに詳しく

シェーダ実行の検証

Xcodeのパフォーマンスヒートマップでは、包括的なパフォーマンス指標を視覚化することで、負荷の高いピクセルや計算スレッドを簡単に検出できます。また、SIMDグループを選択して、関数の呼び出し、ループの反復、アクティブなスレッドなど実行履歴全体を表示できます。

さらに詳しく

シェーダの最適化

Metalデバッガでは、シェーダ関数のコストが視覚化され、各種数値がシェーダソース内にインラインで表示されるため、コードを簡単に最適化できます。シェーダを編集し、再読み込みして、パフォーマンスを比較することもできます。

さらに詳しく

Metalシェーダコンバータに対応

Metalの包括的なデベロッパツールセットは、Metalシェーダコンバータとの完全な互換性を有しています。プロジェクトのコンパイル時にデバッグ情報が含まれるように準備しておくと、Metalからランタイム時の検証エラーが送信されます。Metalデバッガは、変換されたシェーダデバッグとプロファイルにも対応します。

使い方を確認する

今すぐ始める

macOS向けのMetalデベロッパツール

Xcodeをダウンロードすれば、Metalデベロッパツールのすべての機能を使い始めることができます。Metal APIとシェーダの使用状況を検証し、MetalデバッガでMetalアプリのデバッグとプロファイルを行い、InstrumentsのMetalシステムトレースを使ってシステムパフォーマンスを分析できます。

さらに詳しく

Windows向けのMetalデベロッパツール

Windowsがホストするツール、ヘッダ、ライブラリのコレクションをダウンロードすれば、Metalシェーダプログラムとアセットをビルドして、iOS、macOS、tvOSにデプロイできるようになります。

今すぐダウンロード