---
title: MPSRNNMatrixId
framework: metalperformanceshaders
role: symbol
role_heading: Enumeration
path: metalperformanceshaders/mpsrnnmatrixid
---

# MPSRNNMatrixId

Options that define which matrix is copied in or out of a trainable RNN layer.

## Declaration

```swift
enum MPSRNNMatrixId
```

## Topics

### Enumeration Cases

- [MPSRNNMatrixId.SingleGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/singlegateinputweights.md)
- [MPSRNNMatrixId.gruInputGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/gruinputgatebiasterms.md)
- [MPSRNNMatrixId.gruInputGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/gruinputgateinputweights.md)
- [MPSRNNMatrixId.gruInputGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/gruinputgaterecurrentweights.md)
- [MPSRNNMatrixId.gruOutputGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/gruoutputgatebiasterms.md)
- [MPSRNNMatrixId.gruOutputGateInputGateWeights](metalperformanceshaders/mpsrnnmatrixid/gruoutputgateinputgateweights.md)
- [MPSRNNMatrixId.gruOutputGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/gruoutputgateinputweights.md)
- [MPSRNNMatrixId.gruOutputGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/gruoutputgaterecurrentweights.md)
- [MPSRNNMatrixId.gruRecurrentGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/grurecurrentgatebiasterms.md)
- [MPSRNNMatrixId.gruRecurrentGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/grurecurrentgateinputweights.md)
- [MPSRNNMatrixId.gruRecurrentGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/grurecurrentgaterecurrentweights.md)
- [MPSRNNMatrixId.lstmForgetGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/lstmforgetgatebiasterms.md)
- [MPSRNNMatrixId.lstmForgetGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/lstmforgetgateinputweights.md)
- [MPSRNNMatrixId.lstmForgetGateMemoryWeights](metalperformanceshaders/mpsrnnmatrixid/lstmforgetgatememoryweights.md)
- [MPSRNNMatrixId.lstmForgetGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/lstmforgetgaterecurrentweights.md)
- [MPSRNNMatrixId.lstmInputGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/lstminputgatebiasterms.md)
- [MPSRNNMatrixId.lstmInputGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/lstminputgateinputweights.md)
- [MPSRNNMatrixId.lstmInputGateMemoryWeights](metalperformanceshaders/mpsrnnmatrixid/lstminputgatememoryweights.md)
- [MPSRNNMatrixId.lstmInputGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/lstminputgaterecurrentweights.md)
- [MPSRNNMatrixId.lstmMemoryGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/lstmmemorygatebiasterms.md)
- [MPSRNNMatrixId.lstmMemoryGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/lstmmemorygateinputweights.md)
- [MPSRNNMatrixId.lstmMemoryGateMemoryWeights](metalperformanceshaders/mpsrnnmatrixid/lstmmemorygatememoryweights.md)
- [MPSRNNMatrixId.lstmMemoryGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/lstmmemorygaterecurrentweights.md)
- [MPSRNNMatrixId.lstmOutputGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/lstmoutputgatebiasterms.md)
- [MPSRNNMatrixId.lstmOutputGateInputWeights](metalperformanceshaders/mpsrnnmatrixid/lstmoutputgateinputweights.md)
- [MPSRNNMatrixId.lstmOutputGateMemoryWeights](metalperformanceshaders/mpsrnnmatrixid/lstmoutputgatememoryweights.md)
- [MPSRNNMatrixId.lstmOutputGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/lstmoutputgaterecurrentweights.md)
- [MPSRNNMatrixId.singleGateBiasTerms](metalperformanceshaders/mpsrnnmatrixid/singlegatebiasterms.md)
- [MPSRNNMatrixId.singleGateRecurrentWeights](metalperformanceshaders/mpsrnnmatrixid/singlegaterecurrentweights.md)

### Initializers

- [init(rawValue:)](metalperformanceshaders/mpsrnnmatrixid/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Enumerations

- [MPSAccelerationStructureStatus](metalperformanceshaders/mpsaccelerationstructurestatus.md)
- [MPSAccelerationStructureUsage](metalperformanceshaders/mpsaccelerationstructureusage.md)
- [MPSAliasingStrategy](metalperformanceshaders/mpsaliasingstrategy.md)
- [MPSBoundingBoxIntersectionTestType](metalperformanceshaders/mpsboundingboxintersectiontesttype.md)
- [MPSCNNBatchNormalizationFlags](metalperformanceshaders/mpscnnbatchnormalizationflags.md)
- [MPSCNNConvolutionGradientOption](metalperformanceshaders/mpscnnconvolutiongradientoption.md)
- [MPSCNNConvolutionWeightsLayout](metalperformanceshaders/mpscnnconvolutionweightslayout.md)
- [MPSCNNLossType](metalperformanceshaders/mpscnnlosstype.md)
- [MPSCNNReductionType](metalperformanceshaders/mpscnnreductiontype.md)
- [MPSCNNWeightsQuantizationType](metalperformanceshaders/mpscnnweightsquantizationtype.md)
- [MPSCustomKernelIndex](metalperformanceshaders/mpscustomkernelindex.md)
- [MPSDeviceCapsValues](metalperformanceshaders/mpsdevicecapsvalues.md)
- [MPSDeviceOptions](metalperformanceshaders/mpsdeviceoptions.md)
- [MPSFloatDataTypeBit](metalperformanceshaders/mpsfloatdatatypebit.md)
- [MPSFloatDataTypeShift](metalperformanceshaders/mpsfloatdatatypeshift.md)
