>[!info]
>PyTorch leverages [[GPU - Graphics Processing Unit|GPU]] acceleration via [[CUDA]].
---
#### Information
```python
import torch
print(f"GPU Available: {torch.cuda.is_available()}")
print(f"Number of GPUs: {torch.cuda.device_count()}")
print(f"Current GPU: {torch.cuda.current_device()}")
print(f"GPU Name: {torch.cuda.get_device_name(0)}")
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
```
---
#### Moving Data
Compare with [[Executing a CUDA Kernel]] note.
```python
tensor = tensor.to(device) # Preferred method
model = model.to(device) # Moves all parameters/buffers to GPU
```
---
#### Multi GPU Training
TODO - make own note for this, important !