---
title: MLCDevice
framework: ML Compute
role: symbol
role_heading: Class
platforms: [iOS 14.0+, iPadOS 14.0+, Mac Catalyst 14.0+, macOS 11.0+, tvOS 14.0+]
path: mlcompute/mlcdevice
---

# MLCDevice

An object that represents the CPU or one or more GPUs the framework uses to execute a neural network.

## Declaration

```swift
class MLCDevice
```

## Topics

### Creating Devices

- [init(type:)](mlcompute/mlcdevice/init(type:).md)
- [init(type:selectsMultipleComputeDevices:)](mlcompute/mlcdevice/init(type:selectsmultiplecomputedevices:).md)
- [MLCDeviceType](mlcompute/mlcdevicetype.md)
- [init(gpuDevices:)](mlcompute/mlcdevice/init(gpudevices:)-4mj85.md)
- [cpu()](mlcompute/mlcdevice/cpu().md)
- [gpu()](mlcompute/mlcdevice/gpu().md)
- [ane()](mlcompute/mlcdevice/ane().md)

### Inspecting Devices

- [type](mlcompute/mlcdevice/type.md)
- [actualDeviceType](mlcompute/mlcdevice/actualdevicetype.md)
- [gpuDevices](mlcompute/mlcdevice/gpudevices.md)

### Initializers

- [init(GPUDevices:)](mlcompute/mlcdevice/init(gpudevices:)-9w16l.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
