• Docs >
  • Accelerate your code with Fabric
Shortcuts

Accelerate your code with Fabric

Set accelerator and devices

Fabric enables you to take full advantage of the hardware on your system. It supports

  • CPU

  • GPU (NVIDIA, AMD, Apple Silicon)

  • TPU

By default, Fabric recognizes the accelerator(s) on your system

# Default settings
fabric = Fabric(accelerator="auto", devices="auto")

# Same as
fabric = Fabric()

This is the most flexible option and makes your code run on most systems. You can also explicitly set which accelerator to use:

# CPU (slow)
fabric = Fabric(accelerator="cpu")

# GPU
fabric = Fabric(accelerator="gpu", devices=1)

# GPU (multiple)
fabric = Fabric(accelerator="gpu", devices=8)

# GPU: Apple M1/M2 only
fabric = Fabric(accelerator="mps", devices=8)

# GPU: NVIDIA CUDA only
fabric = Fabric(accelerator="cuda", devices=8)

# TPU
fabric = Fabric(accelerator="tpu", devices=8)

For running on multiple devices in parallel, also known as “distributed”, read our guide for Launching Multiple Processes.


Access the Device

You can access the device anytime through fabric.device. This lets you replace boilerplate code like this:

- if torch.cuda.is_available():
-     device = torch.device("cuda")
- else:
-     device = torch.device("cpu")

+ device = fabric.device

© Copyright Copyright (c) 2018-2023, Lightning AI et al...

Built with Sphinx using a theme provided by Read the Docs.