# `Snakepit.Hardware.MPSDetector`
[🔗](https://github.com/nshkrdotcom/snakepit/blob/v0.13.0/lib/snakepit/hardware/mps_detector.ex#L1)

Apple Metal Performance Shaders (MPS) hardware detection.

Detects Apple Silicon GPU availability on macOS.

# `mps_info`

```elixir
@type mps_info() :: %{
  available: boolean(),
  device_name: String.t(),
  memory_total_mb: non_neg_integer()
}
```

# `detect`

```elixir
@spec detect() :: mps_info() | nil
```

Detects MPS (Apple Metal) availability.

Returns nil on non-macOS platforms, or a map with:
- `:available` - true if MPS is available
- `:device_name` - Name of the Metal device
- `:memory_total_mb` - GPU memory (shared memory on Apple Silicon)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
