---
title: MLComputeDeviceProtocol
framework: coreml
role: symbol
role_heading: Protocol
path: coreml/mlcomputedeviceprotocol
---

# MLComputeDeviceProtocol

An interface that represents a compute device type.

## Declaration

```swift
protocol MLComputeDeviceProtocol : NSObjectProtocol
```

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [MLCPUComputeDevice](coreml/mlcpucomputedevice.md)
- [MLGPUComputeDevice](coreml/mlgpucomputedevice.md)
- [MLNeuralEngineComputeDevice](coreml/mlneuralenginecomputedevice.md)

## See Also

### Compute devices

- [MLComputeDevice](coreml/mlcomputedevice.md)
- [MLCPUComputeDevice](coreml/mlcpucomputedevice.md)
- [MLGPUComputeDevice](coreml/mlgpucomputedevice.md)
- [MLNeuralEngineComputeDevice](coreml/mlneuralenginecomputedevice.md)
