Accelerating graphics and much more.

Metal provides a platform-optimized, low-overhead API for developing the latest 3D pro applications and amazing games using a rich shading language with tighter integration between graphics and compute programs. To help you do more while managing ever more complex shader code, Metal adds an unparalleled suite of advanced GPU debugging tools to help you realize the full potential of your graphics code.

What’s new

Enhanced graphics and compute integration

To better realize the latest GPU rendering techniques, you can now call dynamic libraries, use function pointers, and leverage the Ray Tracing API directly from your graphics shaders.

Function stitching

Efficiently combine precompiled functions into more complex functions at run time. This allows shader authoring tools to precompile individual shader nodes while maintaining flexibility as they author shaders.

New Ray Tracing features

The Ray Tracing API now supports motion blur, user instance IDs, and an extension of numerical limits to help you generate immensely complex scenes with professional renders.

GPU-accelerated ML training

MPSGraph adds new operations and optimizations using Metal buffer-based ML primitives on the GPU, so you can accelerate ML model training on Mac with higher peak performance.

Metal backend for PyTorch

The new Metal backend in PyTorch version 1.12 enables high-performance, GPU-accelerated training using MPS Graph and the Metal Performance Shaders primitives.

Get started

Metal plugin for TensorFlow

The TensorFlow-Metal PluggableDevice adds improvements to machine learning training with new operations accelerated on GPU, custom operations, and distributed training support.

Get started

GPU Performance State Debugger

Optimize your graphics code for power and performance on all Apple platforms.

Metal Debugger timeline view

To help achieve peak performance with the latest rendering techniques, Metal Debugger now includes performance counters and bottleneck analysis tools while providing a unified view of Metal commands, resources, and buffers on the timeline of GPU events.

Selective Shader Debugger

To dramatically reduce the time it takes to debug incredibly large GPU shader code, Xcode 13 now includes the option to target and debug specific functions within the overall GPU shader code.

GPU Address Sanitizer

Xcode 13 can automatically find difficult bugs, such as buffer overruns, in complex GPU shader code.

Texture Converter Tool

To simplify optimizing game texture assets for Apple platforms, the new Texture Converter Tool supports the latest modern texture formats used by high-end games. For game developers with a Windows-based build environment, the Texture Converter Tool is also available in the Metal Tools for Windows package.