# torch.mps

```{eval-rst}
.. automodule:: torch.mps
```

```{eval-rst}
.. currentmodule:: torch.mps
```

```{eval-rst}
.. autosummary::
    :toctree: generated
    :nosignatures:

    is_available
    device_count
    synchronize
    get_rng_state
    set_rng_state
    manual_seed
    seed
    empty_cache
    set_per_process_memory_fraction
    current_allocated_memory
    driver_allocated_memory
    recommended_max_memory
    compile_shader
```

## MPS Profiler

```{eval-rst}
.. autosummary::
    :toctree: generated
    :nosignatures:

    profiler.start
    profiler.stop
    profiler.profile

    profiler.is_capturing_metal
    profiler.is_metal_capture_enabled
    profiler.metal_capture
```

## MPS Event

```{eval-rst}
.. autosummary::
    :toctree: generated
    :nosignatures:

    event.Event

```

% This module needs to be documented. Adding here in the meantime

% for tracking purposes

```{eval-rst}
.. py:module:: torch.mps.event
```

```{eval-rst}
.. py:module:: torch.mps.profiler
```
