使用场景:
cuda是适配nvidia的GPU的,M1及以上芯片中的GPU适配的是mps,在Mac对应操作系统中已经具备,无需单独安装。只需要安装适配的pytorch即可。
python及pytorch版本要求
具备arm64的Python, pytorch>=1.12
确认当前mac电脑是否可用GPU
import torch
print(torch.backends.mps.is_available())
print(torch.backends.mps.is_built())
True#表示macOS版本支持
True#表示mps可用
使用
# 方法1:通过torch.device指定张量存储在GPU上
X=torch.ones(2,3,device='mps:0')
# 方法2:通过to(divice)指定张量存储在GPU上
X1=torch.ones(2,3).to('mps:0')
print(X1)
tensor([[1., 1., 1.],
[1., 1., 1.]], device='mps:0')
#指定mps:1
Y=torch.ones(2,3,device='mps:1')
print(Y)
tensor([[1., 1., 1.],
[1., 1., 1.]], device='mps:0')
注意:指定位置mps:1是无效的,原因是
Mac上使用torch.mps只能使用一块GPU,不支持数据并行