2021-04-10 06:55:07 +00:00
|
|
|
.. _accelerators:
|
|
|
|
|
2020-11-08 22:24:41 +00:00
|
|
|
############
|
|
|
|
Accelerators
|
|
|
|
############
|
|
|
|
Accelerators connect a Lightning Trainer to arbitrary accelerators (CPUs, GPUs, TPUs, etc). Accelerators
|
2021-04-10 06:55:07 +00:00
|
|
|
also manage distributed communication through :ref:`Plugins` (like DP, DDP, HPC cluster) and
|
|
|
|
can also be configured to run on arbitrary clusters or to link up to arbitrary
|
2020-11-08 22:24:41 +00:00
|
|
|
computational strategies like 16-bit precision via AMP and Apex.
|
|
|
|
|
2021-04-10 06:55:07 +00:00
|
|
|
An Accelerator is meant to deal with one type of hardware.
|
|
|
|
Currently there are accelerators for:
|
|
|
|
|
|
|
|
- CPU
|
|
|
|
- GPU
|
|
|
|
- TPU
|
|
|
|
|
|
|
|
Each Accelerator gets two plugins upon initialization:
|
|
|
|
One to handle differences from the training routine and one to handle different precisions.
|
|
|
|
|
|
|
|
.. testcode::
|
|
|
|
|
|
|
|
from pytorch_lightning import Trainer
|
|
|
|
from pytorch_lightning.accelerators import GPUAccelerator
|
|
|
|
from pytorch_lightning.plugins import NativeMixedPrecisionPlugin, DDPPlugin
|
|
|
|
|
|
|
|
accelerator = GPUAccelerator(
|
|
|
|
precision_plugin=NativeMixedPrecisionPlugin(),
|
|
|
|
training_type_plugin=DDPPlugin(),
|
|
|
|
)
|
|
|
|
trainer = Trainer(accelerator=accelerator)
|
|
|
|
|
|
|
|
|
|
|
|
We expose Accelerators and Plugins mainly for expert users who want to extend Lightning to work with new
|
|
|
|
hardware and distributed training or clusters.
|
|
|
|
|
|
|
|
|
|
|
|
.. warning:: The Accelerator API is in beta and subject to change.
|
|
|
|
For help setting up custom plugins/accelerators, please reach out to us at **support@pytorchlightning.ai**
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
|
|
|
Accelerator API
|
|
|
|
---------------
|
|
|
|
|
|
|
|
.. currentmodule:: pytorch_lightning.accelerators
|
|
|
|
|
|
|
|
.. autosummary::
|
|
|
|
:nosignatures:
|
|
|
|
:template: classtemplate.rst
|
|
|
|
|
|
|
|
Accelerator
|
|
|
|
CPUAccelerator
|
|
|
|
GPUAccelerator
|
|
|
|
TPUAccelerator
|