<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNSDataLayout",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@EA@BNNSDataLayout"
  },
  "title" : "BNNSDataLayout"
}
-->

# BNNSDataLayout

Constants that describe the data type of an n-dimensional array.

```
struct BNNSDataLayout
```

## Topics

### 1D Data Layouts

[`BNNSDataLayoutVector`](/documentation/Accelerate/BNNSDataLayoutVector)

A constant that represents a 1D vector.

[`BNNSDataLayout1DFirstMajor`](/documentation/Accelerate/BNNSDataLayout1DFirstMajor)

A constant that represents a 1D first-major vector.

[`BNNSDataLayout1DLastMajor`](/documentation/Accelerate/BNNSDataLayout1DLastMajor)

A constant that represents a 1D last-major vector.

### 2D Data Layouts

[`BNNSDataLayoutColumnMajorMatrix`](/documentation/Accelerate/BNNSDataLayoutColumnMajorMatrix)

A constant that represents a 2D column-major matrix.

[`BNNSDataLayoutRowMajorMatrix`](/documentation/Accelerate/BNNSDataLayoutRowMajorMatrix)

A constant that represents a 2D row-major matrix.

[`BNNSDataLayout2DFirstMajor`](/documentation/Accelerate/BNNSDataLayout2DFirstMajor)

A constant that represents a 2D first-major matrix.

[`BNNSDataLayout2DLastMajor`](/documentation/Accelerate/BNNSDataLayout2DLastMajor)

A constant that represents a 2D last-major matrix.

### 3D Data Layouts

[`BNNSDataLayoutImageCHW`](/documentation/Accelerate/BNNSDataLayoutImageCHW)

A constant that represents a 3D image stack.

[`BNNSDataLayout3DFirstMajor`](/documentation/Accelerate/BNNSDataLayout3DFirstMajor)

A constant that represents a 3D first-major tensor.

[`BNNSDataLayout3DLastMajor`](/documentation/Accelerate/BNNSDataLayout3DLastMajor)

A constant that represents a 3D last-major tensor.

[`BNNSDataLayoutSNE`](/documentation/Accelerate/BNNSDataLayoutSNE)

A constant that represents a 3D tensor with the size elements embedding dimension, batch size, and sequence length.

[`BNNSDataLayoutNSE`](/documentation/Accelerate/BNNSDataLayoutNSE)

A constant that represents a 3D tensor with the size elements embedding dimension, sequence length, and batch size.

### 4D Data Layouts

[`BNNSDataLayoutConvolutionWeightsOIHW`](/documentation/Accelerate/BNNSDataLayoutConvolutionWeightsOIHW)

A constant that represents a 4D array of convolution weights.

[`BNNSDataLayoutConvolutionWeightsIOHrWr`](/documentation/Accelerate/BNNSDataLayoutConvolutionWeightsIOHrWr)

A constant that represents a 4D array of rotated convolution weights.

[`BNNSDataLayoutConvolutionWeightsOIHrWr`](/documentation/Accelerate/BNNSDataLayoutConvolutionWeightsOIHrWr)

A constant that represents a 4D array of rotated convolution weights.

[`BNNSDataLayoutConvolutionWeightsOIHW_Pack32`](/documentation/Accelerate/BNNSDataLayoutConvolutionWeightsOIHW_Pack32)

A constant that represents a 4D array of packed convolution weights with 32-output channel packing and 128-byte array address alignment.

[`BNNSDataLayout4DFirstMajor`](/documentation/Accelerate/BNNSDataLayout4DFirstMajor)

A constant that represents a 4D first-major tensor.

[`BNNSDataLayout4DLastMajor`](/documentation/Accelerate/BNNSDataLayout4DLastMajor)

A constant that represents a 4D last-major tensor.

### 5D Data Layouts

[`BNNSDataLayout5DFirstMajor`](/documentation/Accelerate/BNNSDataLayout5DFirstMajor)

A constant that represents a 5D first-major tensor.

[`BNNSDataLayout5DLastMajor`](/documentation/Accelerate/BNNSDataLayout5DLastMajor)

A constant that represents a 5D last-major tensor.

### 6D Data Layouts

[`BNNSDataLayout6DFirstMajor`](/documentation/Accelerate/BNNSDataLayout6DFirstMajor)

A constant that represents a 6D first-major tensor.

[`BNNSDataLayout6DLastMajor`](/documentation/Accelerate/BNNSDataLayout6DLastMajor)

A constant that represents a 6D last-major tensor.

### 7D Data Layouts

[`BNNSDataLayout7DFirstMajor`](/documentation/Accelerate/BNNSDataLayout7DFirstMajor)

A constant that represents a 7D first-major tensor.

[`BNNSDataLayout7DLastMajor`](/documentation/Accelerate/BNNSDataLayout7DLastMajor)

A constant that represents a 7D last-major tensor.

### 8D Data Layouts

[`BNNSDataLayout8DFirstMajor`](/documentation/Accelerate/BNNSDataLayout8DFirstMajor)

A constant that represents a 8D first-major tensor.

[`BNNSDataLayout8DLastMajor`](/documentation/Accelerate/BNNSDataLayout8DLastMajor)

A constant that represents a 8D last-major tensor.

### Other Data Layouts

[`BNNSDataLayoutFullyConnectedSparse`](/documentation/Accelerate/BNNSDataLayoutFullyConnectedSparse)

[`BNNSDataLayoutMHA_DHK`](/documentation/Accelerate/BNNSDataLayoutMHA_DHK)

### Raw Values

[`init(_:)`](/documentation/Accelerate/BNNSDataLayout/init(_:))

[`init(rawValue:)`](/documentation/Accelerate/BNNSDataLayout/init(rawValue:))

[`rawValue`](/documentation/Accelerate/BNNSDataLayout/rawValue)



---

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)