<!--
{
  "documentType" : "article",
  "framework" : "MetalPerformanceShaders",
  "identifier" : "/documentation/MetalPerformanceShaders/metalperformanceshaders-data-types",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "MetalPerformanceShaders Data Types"
}
-->

# MetalPerformanceShaders Data Types

## Topics

### Data Types

[`typealias MPSAccelerationStructureCompletionHandler`](/documentation/MetalPerformanceShaders/MPSAccelerationStructureCompletionHandler)

A block of code that’s invoked when an operation on an acceleration structure has completed.

[`typealias MPSAxisAlignedBoundingBox`](/documentation/MetalPerformanceShaders/MPSAxisAlignedBoundingBox-swift.typealias)

An axis-aligned bounding box.

[`typedef NSArray<MPSCNNArithmeticGradientState *> MPSCNNArithmeticGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNArithmeticGradientStateBatch)

A batch of arithmetic gradient state instances.

[`typedef NSArray<MPSCNNConvolutionGradientState *> MPSCNNConvolutionGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNConvolutionGradientStateBatch)

A batch of convolution gradient state instances.

[`typedef NSArray<MPSCNNConvolutionTransposeGradientState *> MPSCNNConvolutionTransposeGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNConvolutionTransposeGradientStateBatch)

[`typedef NSArray<MPSCNNDropoutGradientState *> MPSCNNDropoutGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNDropoutGradientStateBatch)

A batch of dropout gradient state instances.

[`typedef NSArray<MPSCNNGroupNormalizationGradientState *> MPSCNNGroupNormalizationGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNGroupNormalizationGradientStateBatch)

[`typedef NSArray<MPSCNNInstanceNormalizationGradientState *> MPSCNNInstanceNormalizationGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSCNNInstanceNormalizationGradientStateBatch)

A batch of instance normalization gradient state instances.

[`typedef NSArray<MPSCNNLossLabels *> MPSCNNLossLabelsBatch;`](/documentation/MetalPerformanceShaders/MPSCNNLossLabelsBatch)

A batch of loss labels instances.

[`typealias MPSDeviceCaps`](/documentation/MetalPerformanceShaders/MPSDeviceCaps)

[`typealias MPSFunctionConstant`](/documentation/MetalPerformanceShaders/MPSFunctionConstant)

[`typealias MPSFunctionConstantInMetal`](/documentation/MetalPerformanceShaders/MPSFunctionConstantInMetal)

[`typealias MPSGradientNodeBlock`](/documentation/MetalPerformanceShaders/MPSGradientNodeBlock)

[`typedef NSArray<MPSImage *> MPSImageBatch;`](/documentation/MetalPerformanceShaders/MPSImageBatch)

A batch of Metal Performance Shader image instances.

[`typedef NSArray<MPSNNBinaryGradientState *> MPSNNBinaryGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSNNBinaryGradientStateBatch)

A batch of binary gradient state instances.

[`typedef NSArray<MPSNNGradientState *> MPSNNGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSNNGradientStateBatch)

A batch of gradient state instances.

[`typedef NSArray<MPSNNMultiaryGradientState *> MPSNNMultiaryGradientStateBatch;`](/documentation/MetalPerformanceShaders/MPSNNMultiaryGradientStateBatch)

[`typedef NSArray<NSNumber *> MPSShape;`](/documentation/MetalPerformanceShaders/MPSShape)

[`typedef NSArray<MPSState *> MPSStateBatch;`](/documentation/MetalPerformanceShaders/MPSStateBatch)

A batch of Metal Performance Shader state instances.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)