Yonggie 2021-05-22 12:23 采纳率: 50%
浏览 42

torch多gpu使用分配问题,有无一套cpu gpu都通用的代码?

那显而易见to device是可以cpu和gpu的,cuda的话只能gpu。
但如果我就想说这个,我岂不是弱智,这也需要说?

## 背景
组内有服务器,服务器有4个显卡,我们组用0号显卡。其余的给其他人用。我自然是想cpu gpu都用一套代码,于是
```py
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 之后的都是这样写:
model.to(device)
```
结果好家伙,当其余3块gpu都0%占用时候,0号开始运作;当其余3块都被99%占用后,0号直接停止,转成cpu了。
## alternative
组内同学用这样子写了下;
```py
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 之后的都是这样写:
model.cuda(device)
```
结果就能用了,不管其余的gpu是否占用。

老铁们,这什么情况?

 

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 18:14
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?