Could it possible that mps is made as easy as cuda?

There are a couple of things I cannot do on my Mac M1 machine now.

For example, I cannot check how many GPUs I have in order to do parallel training. I have many GPUs and I want to make full use of them.

Also, if I have a tensor x, I can easily write “x.cuda()” to move x to GPU on a machine with NVIDIA, however this is not possible with mps. We have to do x.to(torch.device(‘mps’)).

There are a lot more functions that CUDA has but mps does not. I wish they could be added in later updates.

Thank the developers.

Hi,

For example, I cannot check how many GPUs I have in order to do parallel training. I have many GPUs and I want to make full use of them.

Could you give details on how you have many GPUs? M1 machines are only single chip.

Also, if I have a tensor x, I can easily write “x.cuda()” to move x to GPU on a machine with NVIDIA, however this is not possible with mps. We have to do x.to(torch.device(‘mps’)).

This is an oversight on our end I’m afraid. Could you open an issue on github so that we can track adding this method?

There are a lot more functions that CUDA has but mps does not. I wish they could be added in later updates.

Yes, PyTorch has 2000+ ops. So it is quite a bit of work to support them all. We’re working on this!