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

XcodeのMetalデバッガやInstrumentsのMetalシステムトレースなど、パワフルで幅広いツールセットを使って、Metalアプリの作成、デバッグ、プロファイルを行うことができます。
Xcodeには、Metalアプリをデバッグするための高度なツールなど、包括的なツールセットが含まれています。Metalデバッガを使用すると、使用されているすべてのリソースに加えて、レンダリング、コンピューティング、機械学習のパイプライン全体を検証できます。Metal 4が新たにサポートされ、エンコーダのステージの同期や機械学習ネットワーク内の中間テンソルなど、より幅広い領域で問題のデバッグと修正が可能になりました。
依存関係ビューアではMetalワークロードの構造が視覚的に表示され、リソース、パス、同期プリミティブや、頂点やフラグメントなどの個々のエンコーダのステージ間の関係を確認できます。
バッファ、テクスチャ、テンソルなどのオブジェクト、およびレイトレーシング高速化構造など、Metalアプリで使用されているさまざまなリソースを調べられます。
シェーダデバッガは、シェーダの実行中に任意のポイントにジャンプして変数の値を調べることで、シェーダコードの問題をデバッグするのに役立ちます。シェーダコードを編集し、変更を再読み込みすれば、修正内容を確認できます。
新しい機械学習ネットワークデバッガは、Metal 4の機械学習エンコーダにおける問題のデバッグに役立ちます。ネットワークがAppleシリコン上での実行向けにどのように最適化されているかを視覚的に把握した上で、ネットワーク内の任意の処理にジャンプして、中間テンソル内の予期しない値を特定できます。
処理がどのように実行に最適化されているかを視覚的に把握し、GPUによってまとめて実行されている処理やNeural Engineにオフロードされている処理を検出できます。まとめられた処理は、最適化された単一のMetalシェーダに統合されるため、中間メモリのオーバーヘッドが生じません。
機械学習ネットワークデバッガは、機械学習ネットワーク内の任意のポイントで処理を評価できるため、GPUで実行されるあらゆる処理の入力または出力の予期しない中間値をデバッグする上で役立ちます。
Metalにはパワフルなランタイム診断ツールのセットが組み込まれており、Metalアプリが正しく動作していることを検証するのに役立ちます。Xcodeではソースコード内にエラー箇所が表示されるため、問題の発生前にバグを見つけることができます。
Xcodeには高度なツールセットがバンドルされているため、MetalアプリはAppleハードウェア上で一貫したスムーズなレンダリングと優れたパフォーマンスを実現できます。
MetalパフォーマンスHUDを使えば、Metalアプリでグラフィックスに関する主要な統計情報を直接モニタリングできるため、XcodeやInstrumentsでパフォーマンスの問題や、最適な取り込み範囲を簡単に特定できます。
Xcodeのパフォーマンスタイムラインには、同時に実行されているさまざまなパスやステージとともに、ハードウェアカウンタが表示されます。GPUタスクが並行処理でないことを確認することで、過剰なシリアライズを検出できます。
Metalの包括的なデベロッパツールセットは、Metalシェーダコンバータとの完全な互換性を有しています。プロジェクトのコンパイル時にデバッグ情報が含まれるように準備しておくと、Metalからランタイム時の検証エラーが送信されます。Metalデバッガは、変換されたシェーダのデバッグとプロファイルにも対応します。
Xcodeをダウンロードすれば、Metalデベロッパツールのすべての機能を使い始めることができます。Metal APIとシェーダの使用状況を検証し、MetalデバッガでMetalアプリのデバッグとプロファイルを行い、InstrumentsのMetalシステムトレースを使ってシステムパフォーマンスを分析できます。
Windowsがホストするツール、ヘッダ、ライブラリのコレクションをダウンロードすれば、Metalシェーダプログラムとアセットをビルドして、iOS、macOS、tvOSにデプロイできるようになります。