tensorflow - 在具有多个显卡(例如 K80)的 NVIDIA GPU 上,为什么 torch.cuda.device_count() 返回 1?
问题描述
我在 Tesla K80 上运行了以下代码,据我了解,它由 2 个 GK210 显卡组成,每个显卡都有 12GB 的片上 ram,通过称为 PLX 开关的东西连接。我很困惑在pytorch级别,有两个显卡的事实对用户是隐藏的
import torch
torch.cuda.device_count() # 1
(我的预感是 tensorflow 提供了同样的抽象)
跟进问题:
- 如果我正在使用 pytorch 训练模型,并且我运行
nvidia-smi
并看到 GPU 被充分利用,我会假设这意味着两个 GK210 的利用率都是 100%。pytorch 如何在两个 GK210 上分配内核,我可以相信这是有效的吗?(即以最小化两张卡之间的数据传输的方式完成)。任何解释其工作原理的资源将不胜感激。 - 如果我正在编写一个 CUDA 应用程序,我可以将 CUDA 流固定到每张卡上,并明确管理两张卡之间的数据传输吗?
解决方案
推荐阅读
- python - HTML 和 Flask POST 图像上传停止工作
- xcode - 尝试从 cmake 文件夹生成 Xcode 项目时,我收到与 Xcode 新构建系统相关的错误。任何可能的解决方案?
- jwt - 在 Prestashop 中安装第三方库
- redis - 如何在redis中获取用户的所有密钥
- regex - 正则表达式 MySQL 查找由标点符号分隔的单词
- javascript - 导航栏在响应模式下中断
- asp.net-mvc - 如何发布/上传 ASP.NET MVC 5 网站
- python - 矩阵的python numpy平方不起作用
- firebase - 如何在firestore中显示收藏列表?
- sklearn-pandas - 预期 2D 数组,得到 1D 数组。如何在线性回归中解决它?