---
title: Strategies
description: API reference for all public classes and functions.
canonical: 'https://lightning.ai/docs/fabric/stable/full-api-reference/api/strategies'
---
# Strategies {#strategies}

- [`Strategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.Strategy.md) — Base class for all strategies that change the behaviour of the training, validation and test- loop.
- [`DDPStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.DDPStrategy.md) — Strategy for multi-process single-device training on one or multiple nodes.
- [`DataParallelStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.DataParallelStrategy.md) — Implements data-parallel training in a single process, i.e., the model gets replicated to each device and each
gets a split of the data.
- [`FSDPStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.FSDPStrategy.md) — Strategy for Fully Sharded Data Parallel provided by torch.distributed.
- [`DeepSpeedStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.DeepSpeedStrategy.md) — Provides capabilities to run training using the DeepSpeed library, with training optimizations for large
billion parameter models. For more information: https://pytorch-
lightning.readthedocs.io/en/st
- [`XLAStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.XLAStrategy.md) — Strategy for training multiple TPU devices using the torch_xla.distributed.xla_multiprocessing.spawn()
method.
- [`XLAFSDPStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.XLAFSDPStrategy.md) — Strategy for training multiple XLA devices using the
torch_xla.distributed.xla_fully_sharded_data_parallel.XlaFullyShardedDataParallel() method.
- [`ParallelStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.ParallelStrategy.md) — Strategy for training with multiple processes in parallel.
- [`SingleDeviceStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.SingleDeviceStrategy.md) — Strategy that handles communication on a single device.
- [`SingleDeviceXLAStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.SingleDeviceXLAStrategy.md) — Strategy for training on a single XLA device.
- [`ModelParallelStrategy`](/docs/fabric/2.6.6/full-api-reference/api/generated/lightning.fabric.strategies.ModelParallelStrategy.md) — Enables user-defined parallelism applied to a model.

---

**Navigation**

- Parent: [Api](/docs/fabric/2.6.6/full-api-reference/api.md)
