About Metal
Metal is a modern, tightly integrated graphics and compute API coupled with a powerful shading language that is designed and optimized for Apple platforms. Its low-overhead model gives you direct control over each task the GPU performs, enabling you to maximize the efficiency of your graphics and compute software. Metal also includes an unparalleled suite of GPU profiling and debugging tools to help you improve performance and graphics quality.
What’s new
Unified shaders and device initialization
Now you can build your Metal libraries once and deploy across Mac, iPad, and iPhone without having to recompile, saving you valuable iteration time. Metal device initialization has also been simplified, enabling you to target these platforms with the same code.
Gaming
Game Porting Toolkit 2
Accelerate your timeline, whether you’re bringing an existing game or one that’s currently in development. With the Game Porting Toolkit 2, it’s never been easier to bring advanced games to Mac, iPad, and iPhone — and to deliver great experiences for players.
Now, when you use Metal shader converter to convert your shaders, you can take advantage of Xcode shader debugging tools that now support debugging your original source code. You can also use the GPU binary compiler to build all shader stages, including Mesh shaders, which makes it compatible with all shaders converted through Metal shader converter.
Learn more about the Game Porting Toolkit
Port advanced games to Apple platforms
Residency sets
Make Apple silicon’s unified memory accessible to the GPU faster than ever with the new Metal Residency Set API. Group related resources into sets and make them resident together.
Ray tracing improvements
Apple silicon supports hardware accelerated ray tracing. New Metal ray tracing support for direct state access unlocks more performance by avoiding extra copies of intersection results. You can also take advantage of row-major matrix layouts when porting shaders.
Metal shading language enhancements
Metal offers you a powerful shading language to take advantage of Apple GPUs. This year, you can take advantage of new global resource bindings to declare your buffers, textures, and samplers at a global scope and use them anywhere in your shaders. You also have more control over memory coherency including support for device coherent operations for cooperative threadgroup algorithms as well as support for os_log to print to the console from within your shaders.
Machine learning
Transformer models with MPS Graph
Integrate machine learning transformer models into your Metal pipelines with new features to improve compute, bandwidth, and quality. Then, visualize your serialized MPSGraph packages using the new MPSGraph Viewer, which lets you analyze opportunities to optimize your networks.
Accelerate machine learning with Metal
ML frameworks
Accelerate the training of machine learning models right on your Mac with MLX, TensorFlow, PyTorch, and JAX. With improvements to the Metal backend, you can train HuggingFace.co’s top 50 networks and seamlessly deploy PyTorch models with custom Metal operations using new GPU acceleration for Meta’s ExecuTorch framework. You can also take advantage of mixed precision training using JAX.
MLX is an efficient and flexible array framework designed and optimized for Apple silicon. With a Metal backend, the MLX framework accelerates the training and deployment of machine learning models on Apple GPUs. MLX is available in Python, Swift, or C++ and can be used on any Apple platform that supports Metal.
Learn more about MLX on GitHub
Train your machine learning and AI models on Apple GPUs