Create a single allocation of memory from which you can suballocate resources.



Image Filter Graph with Heaps and Fences

Demonstrates how to use heaps and fences to optimize a multistage image filter.

protocol MTLHeap

A memory pool from which you can suballocate resources.

class MTLHeapDescriptor

An object you use to configure new heap objects.

struct MTLSizeAndAlign

The size and alignment of a resource, in bytes.

See Also


Setting Resource Storage Modes

Set a storage mode that defines the memory location and access permissions of a resource.

Transferring Data Between Connected GPUs

Use high-speed connections between GPUs to transfer data quickly.

protocol MTLResource

An allocation of memory that is accessible to a GPU.

protocol MTLBlitCommandEncoder

An encoder that encodes memory copying, filtering, and fill commands.


Create and manipulate unstructured GPU resources.


Create and manipulate structured GPU resources.


Manage access to resources in your app to avoid data hazards.