For some reason, when using mps the dataloader is much slower (to a point in which its better to use cpu).
Any idea why?
Code for reproduction:
class Dataset(torch.utils.data.Dataset):
def __init__(self, device):
self.a = torch.tensor(1, device=device)
def __len__(self):
return 100
def __getitem__(self, i):
return self.a, self.a
for device in ['mps', 'cpu']:
dataloader = torch.utils.data.DataLoader(Dataset(device), 64)
%time next(iter(dataloader))
Thanks!