About Metal and this Guide

The Metal framework supports GPU-accelerated advanced 3D graphics rendering and data-parallel computation workloads. Metal provides a modern and streamlined API for fine-grain, low-level control of the organization, processing, and submission of graphics and computation commands and the management of the associated data and resources for these commands. A primary goal of Metal is to minimize the CPU overhead necessary for executing these GPU workloads.

At a Glance

This document describes the fundamental concepts of Metal: the command submission model, the memory management model, and the use of independently compiled code (i.e., graphics shader functions or data-parallel computation functions). The document then details how to use the Metal API to write an app that:

How to Use This Document

This document contains the following articles:

Prerequisites

This document assumes the reader is familiar with the Objective-C language and is experienced in programming with OpenGL, OpenCL, or similar APIs.

See Also

The Metal Reference is a collection of documents that describes the interfaces in the Metal framework.

The Metal Shading Language Guide is a document that specifies the Metal shading language, which is used to write a graphics shader or a compute function that is used by a Metal app.