---
title: BNNSDataLayout
framework: accelerate
role: symbol
role_heading: Structure
path: accelerate/bnnsdatalayout
---

# BNNSDataLayout

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

## Declaration

```swift
struct BNNSDataLayout
```

## Topics

### 1D Data Layouts

- [BNNSDataLayoutVector](accelerate/bnnsdatalayoutvector.md)
- [BNNSDataLayout1DFirstMajor](accelerate/bnnsdatalayout1dfirstmajor.md)
- [BNNSDataLayout1DLastMajor](accelerate/bnnsdatalayout1dlastmajor.md)

### 2D Data Layouts

- [BNNSDataLayoutColumnMajorMatrix](accelerate/bnnsdatalayoutcolumnmajormatrix.md)
- [BNNSDataLayoutRowMajorMatrix](accelerate/bnnsdatalayoutrowmajormatrix.md)
- [BNNSDataLayout2DFirstMajor](accelerate/bnnsdatalayout2dfirstmajor.md)
- [BNNSDataLayout2DLastMajor](accelerate/bnnsdatalayout2dlastmajor.md)

### 3D Data Layouts

- [BNNSDataLayoutImageCHW](accelerate/bnnsdatalayoutimagechw.md)
- [BNNSDataLayout3DFirstMajor](accelerate/bnnsdatalayout3dfirstmajor.md)
- [BNNSDataLayout3DLastMajor](accelerate/bnnsdatalayout3dlastmajor.md)
- [BNNSDataLayoutSNE](accelerate/bnnsdatalayoutsne.md)
- [BNNSDataLayoutNSE](accelerate/bnnsdatalayoutnse.md)

### 4D Data Layouts

- [BNNSDataLayoutConvolutionWeightsOIHW](accelerate/bnnsdatalayoutconvolutionweightsoihw.md)
- [BNNSDataLayoutConvolutionWeightsIOHrWr](accelerate/bnnsdatalayoutconvolutionweightsiohrwr.md)
- [BNNSDataLayoutConvolutionWeightsOIHrWr](accelerate/bnnsdatalayoutconvolutionweightsoihrwr.md)
- [BNNSDataLayoutConvolutionWeightsOIHW_Pack32](accelerate/bnnsdatalayoutconvolutionweightsoihw_pack32.md)
- [BNNSDataLayout4DFirstMajor](accelerate/bnnsdatalayout4dfirstmajor.md)
- [BNNSDataLayout4DLastMajor](accelerate/bnnsdatalayout4dlastmajor.md)

### 5D Data Layouts

- [BNNSDataLayout5DFirstMajor](accelerate/bnnsdatalayout5dfirstmajor.md)
- [BNNSDataLayout5DLastMajor](accelerate/bnnsdatalayout5dlastmajor.md)

### 6D Data Layouts

- [BNNSDataLayout6DFirstMajor](accelerate/bnnsdatalayout6dfirstmajor.md)
- [BNNSDataLayout6DLastMajor](accelerate/bnnsdatalayout6dlastmajor.md)

### 7D Data Layouts

- [BNNSDataLayout7DFirstMajor](accelerate/bnnsdatalayout7dfirstmajor.md)
- [BNNSDataLayout7DLastMajor](accelerate/bnnsdatalayout7dlastmajor.md)

### 8D Data Layouts

- [BNNSDataLayout8DFirstMajor](accelerate/bnnsdatalayout8dfirstmajor.md)
- [BNNSDataLayout8DLastMajor](accelerate/bnnsdatalayout8dlastmajor.md)

### Other Data Layouts

- [BNNSDataLayoutFullyConnectedSparse](accelerate/bnnsdatalayoutfullyconnectedsparse.md)
- [BNNSDataLayoutMHA_DHK](accelerate/bnnsdatalayoutmha_dhk.md)

### Raw Values

- [init(_:)](accelerate/bnnsdatalayout/init(_:).md)
- [init(rawValue:)](accelerate/bnnsdatalayout/init(rawvalue:).md)
- [rawValue](accelerate/bnnsdatalayout/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)

## See Also

### N-dimensional array descriptor essentials

- [BNNSLayerData](accelerate/bnnslayerdata.md)
- [BNNS.Shape](accelerate/bnns/shape.md)
- [BNNSDataType](accelerate/bnnsdatatype.md)
- [BNNSNDArrayDescriptor](accelerate/bnnsndarraydescriptor.md)
- [BNNSDataLayoutGetRank(_:)](accelerate/bnnsdatalayoutgetrank(_:).md)
