---
title: SingleDeviceXLAStrategy
description: Strategy for training on a single XLA device.
canonical: >-
  https://lightning.ai/docs/pytorch/stable/optional-api/api/lightning.pytorch.strategies.SingleDeviceXLAStrategy
---
# SingleDeviceXLAStrategy {#singledevicexlastrategy}

### `class lightning.pytorch.strategies.SingleDeviceXLAStrategy(device, accelerator=None, checkpoint_io=None, precision_plugin=None, debug=False)` {#lightning.pytorch.strategies.SingleDeviceXLAStrategy}

Bases: [`SingleDeviceStrategy`](/docs/pytorch/2.6.6/optional-api/api/lightning.pytorch.strategies.SingleDeviceStrategy.md#lightning.pytorch.strategies.SingleDeviceStrategy "lightning.pytorch.strategies.single_device.SingleDeviceStrategy")

Strategy for training on a single XLA device.

#### `setup(trainer)` {#lightning.pytorch.strategies.SingleDeviceXLAStrategy.setup}

Sets up the accelerator, plugins and initializes the optimizers (if needed).

Parameters:

**trainer** ([`Trainer`](/docs/pytorch/2.6.6/optional-api/api/lightning.pytorch.trainer.trainer.Trainer.md#lightning.pytorch.trainer.trainer.Trainer "lightning.pytorch.trainer.trainer.Trainer")) – the trainer instance

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

#### `teardown()` {#lightning.pytorch.strategies.SingleDeviceXLAStrategy.teardown}

This method is called to teardown the training process.

It is the right place to release memory and free other resources.

Return type:

[`None`](https://docs.python.org/3/builtins/constants.html#None "(in Python v3.15)")

---

**Navigation**

- Parent: [Api](/docs/pytorch/2.6.6/optional-api/api.md)
